Jump to content

Welcome to Smart Home Forum by FIBARO

Dear Guest,

 

as you can notice parts of Smart Home Forum by FIBARO is not available for you. You have to register in order to view all content and post in our community. Don't worry! Registration is a simple free process that requires minimal information for you to sign up. Become a part of of Smart Home Forum by FIBARO by creating an account.

 

As a member you can:

  •     Start new topics and reply to others
  •     Follow topics and users to get email updates
  •     Get your own profile page and make new friends
  •     Send personal messages
  •     ... and learn a lot about our system!

 

Regards,

Smart Home Forum by FIBARO Team


  • 0

QuickApp - Radiation Monitor ​☢️​


SmartHomeEddy

Question

The Radiation Monitor collects radiation levels from all available stations around the world and shows 5 nearest stations to your location and one station with highest current readings and one station with the highest 24 hour average readings. The QuickApp uses the location (latitude and ongitude) of your Homecenter to measure the distance to the stations and to get the nearest stations. The bearings in degrees from your location to the stations is shown. Next to the measurements, the five nearest reactors are shown. The languages English, French, Polish and Duth are supported. 

 

Thanks to @Sankotronic for his work for his HC2 Virtual Device version and ideas. 

 

Please login or register to see this attachment.

 

The main device shows the nearest measurement μSv/h. There are Child Devices for:

  • Nearest sensor 24h average μSv/h
  • 2nd, 3rd, 4th, 5th nearest sensor measurement with the 24 average in the log text
  • Nearest maximum measurement
  • Nearest maximum 24h average measurement

 

The nearest five reactors are retrieved once at startup of the QuickApp or at the next interval if you click on the button. 

Radioactive@Home is a Polish science project using the distributed computing capabilities of the BOINC platform. The main goal of the project is to create a free and continuously updated map of radiation levels available for everyone, by gathering information about gamma radiation using sensors connected to the computers of volunteers willing to participate in the project. Project is completely non-commercial, participating will be free of charge (excluding cost of detector) and the software will be licensed under the GNU General Public License (GPL).

 

μSv/h: The sievert (symbol: Sv) is a unit in the International System of Units (SI) intended to represent the stochastic health risk of ionizing radiation.

 

In land navigation, a 'bearing' is ordinarily calculated in a clockwise direction starting from a reference direction of 0° and increasing to 359.9 degrees. Measured in this way, a bearing is referred to as an azimuth by the US Army but not by armies in other English speaking nations, which use the term bearing.

 

The human population is continuously exposed to ionizing radiation from several natural sources (cosmic and terrestrial contributions). For most individuals, exposure to natural sources exceeds that from all man-made (artificial) sources combined. The man-made sources arise from peaceful (e.g. medical use, energy generation, and associated fuel cycle facilities, radioisotope production, waste management) and military purposes (nuclear tests and their fallout or radioactive release, nuclear explosions).

 

Radiation levels: 
Green: Radiation up to 0.3 μSv/h
Yellow: Radiation between 0.3 and 0.8 μSv/h 
Red: Radiation above 0.8 μSv/h

 

1.14 µSv/h - Shelter population
5.7 µSv/h - Evacuation of population
11.4 µSv/h - Issue Iodine tablets
0.114 µSv/h - Max daily dose == 1 mSv/year

 

Reverse Geocoding by Nominatim
Reverse geocoding generates an address from a latitude and longitude. The reverse geocoding API does not exactly compute the address for the coordinate it receives. It works by finding the closest suitable OSM object and returning its address information. This may occasionally lead to unexpected results. 

 

Please login or register to see this attachment.

Please login or register to see this attachment.

Please login or register to see this image.

/monthly_2022_11/radiation-monitor-1c.png.762783dcc152d2602bb666ee45869ef9.png" />

 

QuickApp code logics:

  • onInit() Initialise the QuickApp
  • getQuickAppVariables() Get all Quickapp Variables or create them
  • createVariables() Setup the global variables
  • setupChildDevices() -- Setup all child devices
  • loadMap() Get the webpage from

    Please login or register to see this link.

    (This is the main loop of the QuickApp)
  • extractData() Extract the data from the webpage source-code
  • geoDistance() Calculate the distance from the HC3 (QuickApp variables) lat/lon to the sensors lat/lon
  • geoBearing() Calculate the bearing from the HC3 (QuickApp variables) lat/lon to the sensors lat/lon
  • Check for the values to give the right dot colours for the sample and average measurements
  • Store the values of all sensors in a table and sort the table on distance
  • Run through the table to get the maximum sample and maximum average measurements. If there are more than one, get the one that is the nearest-by
  • updateIcon() Set the icon (colour) based on the sensor measurement
  • getCity() Get the cities and countries for the seven selected sensors from

    Please login or register to see this link.

    and store them in a table
  • updateLabels() Update the labels
  • updateProperties() Update the properties
  • updateChildDevices() Update the Child Devices
  • Return to the main loop loadMap()

 

Links:

  • Radioactive@Home Map:

    Please login or register to see this link.

  • Status servers:

    Please login or register to see this link.

  • Reverse geocoding:

    Please login or register to see this link.

    licence:Data © OpenStreetMap contributors, ODbL 1.0.

    Please login or register to see this link.

  • Nominatim Usage Policy (aka Geocoding Policy):

    Please login or register to see this link.


Variables (mandatory and created automatically): 

  • latitude = Latitude of your location (Default is the latitude of your HC3)
  • longitude = Longitude of your location (Default is the longitude of your HC3)
  • language = Preferred language (default = en) (supported languages are English (en), French (fr), Polish (pl), Croatian (hr) and Dutch (nl))
  • interval = Interval in seconds to get the data from the Radioactive@Home website
  • debugLevel = Number (1=some, 2=few, 3=most, 4=all) (default = 1, debugLevel 4 is only recommended for solving difficult issues)
  • icon_refresh = User defined icon number for refresh status
  • icon_green = User defined icon number for values less than 0.3 μSv/h
  • icon_yellow = User defined icon number for values between 0.3 and 0.8 μSv/h 
  • icon_red = User defined icon number for values greater than 0.8 μSv/h
  • icon_error = User defined icon number in case of an error gettng the data

 

 

Version 1.4 (6th February 2024)

  • Added extra check for an empty response in the address from Geocity (thanks to @Sankotronic from the Fibaro forum)

Version 1.3 (17th July 2023)

  • Added extra check for the right response from Geocity (in case of response {"error":"Unable to geocode"})

Version 1.2 (11th January 2023)

  • Added support for Croatian language thanks to @Sankotronic

Version 1.1 (9th January 2023)

  • Changed handling of negative values for dots and icons: if tonumber(num) >= 0 and tonumber(num) <= 0.3 then 
  • Added a better translation for French (thanks to @fredokl)

Version 1.0 (5th November 2022)

  • Added the nearest five reactors to the labels with distance and bearing
  • Added a button to refresh the list of (five nearest) reactors
  • Added a warning at startup if the latitude or longitude differs from the setup of your HC3
  • Replaced the creation of the dots 🟢🟡🔴 to the labels, so no longer for all sensors
  • Added some extra notifications to the labels in case the website is down
  • Extended the http timeout a bit, to give the reverse geocoding some more time to respond
  • Added translations for new functions

Version 0.5 (29th October 2022)

  • Added translation to the Reverse API geocoding response (city and country)
  • Changed calculation of the bearings only for the 7 selected sensors, not all sensors
  • Optimized the code and added more structure by using multi file code (main, childs and i18n)

Version 0.4 (22nd October 2022)

  • Added six Child devices for the nearest sensor 24h average, 2nd, 3rd, 4th, 5th nearest sensor sample, the nearest sensor maximum sample and the nearest sensor maximum 24h average
  • Added icons based on sensor measurements to all Child Devices
  • Added translations for the labels and properties from English to French, Polish and Dutch. (Thanks to @ppeterr and @fredokl for help with the translation)
  • Limited the details of the response of the Reverse Geocoding with zoom=10 (address detail = city)

Version 0.3 (16th October 2022)

  • Added the City and Country also for worst sample and worst average sensors
  • Added all debug information and set the debug levels
  • Optimised the code

Version 0.2 (15th October 2022)

  • Added the City and Country for all 5 sensors, not only the first one

Version 0.1 (15th October 2022)

  • Initial version

 

Download the QuickApp here (download the file and un-zip):

Please login or register to see this link.

or from the Fibaro Marketplace:

Please login or register to see this link.


How to install: 

  1. Open the Configuration Interface
  2. Go to Settings > Devices
  3. Click  +
  4. Choose Other Device
  5. Choose Upload File
  6. Choose file from your computer with .fqa

 

Icons thanks to @Sankotronic

image.png.69f69625580adda6e16fa2a12cf0b851.pngimage.png.34c11c6855da86a0ab686982678aea0c.pngimage.png.6170fc1e918407462f60261d0ef3ebc9.pngimage.png.b02b02f067cca39ea6e1971795241863.pngimage.png.61ed78e363bbafd8d3447f5308223746.png

 

 

Edited by SmartHomeEddy
  • Like 5
  • Thanks 1
Link to comment
Share on other sites

Recommended Posts

  • 0
  • Inquirer
  • 10 minutes ago, ppeterr said:

    Your app functions wonderfull.


    Thanks, it was nice to work on with some different technique’s. 

    Link to comment
    Share on other sites

    • 0
  • Inquirer
  • 2 hours ago, SmartHomeEddy said:

    Please login or register to see this attachment.

    2 hours ago, SmartHomeEddy said:

    There is a different map from the EU, with more sensors. But I can’t find a way to get the measurement from that site. I asked if they have an API, the don’t. And the way the site build up, is different. 
     

    Please login or register to see this link.

     

    With a lot of help, we found a way to get the info from data form the EU site ?

    So there is something coming soon ...

     

     

     

    Edited by SmartHomeEddy
    • Like 1
    Link to comment
    Share on other sites

    • 0

    This is a very good idea.  I need some assistance though.  I've installed it to my HC3, but the sensors its displaying make no sense given my location and one of the sensors is displayed twice.  

    My German PLZ is 14612 (pop it into GoogleMaps)

     

    Its bringing up sensors in Italy. 

     

    Help? 

    Link to comment
    Share on other sites

    • 0
  • Inquirer
  • Hi @Gatriel thanks for the compliment.
     

    You can check the latitude and longitue settings in the quickapp variabels if they are yours. 
     

    If not, you can change them to your location, or simply delete them so they are generated with the location of your HC3. 

    • Like 1
    Link to comment
    Share on other sites

    • 0
    5 minutes ago, SmartHomeEddy said:

    Hi @Gatriel thanks for the compliment.
     

    You can check the latitude and longitue settings in the quickapp variabels if they are yours. 
     

    If not, you can change them to your location, or simply delete them so they are generated with the location of your HC3. 

     

    Apologies ... talk to me like I'm an idiot. How do I do this? ?

    Link to comment
    Share on other sites

    • 0
  • Inquirer
  • Just now, Gatriel said:

    talk to me like I'm an idiot.

    ?


    if you select the variables, then you find the quickapp variables

    Please login or register to see this image.

    /monthly_2022_11/B6CF0A01-AD36-4671-B3A9-7F7D34A4E381.jpeg.dec481ce6f41ef31ad562b1dfd58a9ed.jpeg" />
     

    Then you find the latitude and longitude variables

    BFB5933A-4A4A-45C7-9355-D8B79B2E1186.jpeg.23e8ba05132373b98a5b7ab4ba497b96.jpeg

     

    you can change them by pushing the pencil icon, if you know your location in latutude and longitude.
     

    Or you can delete them by pushing the trash bin icon. The quickapp will make new ones for you, with the location of your HC3. 

     

    Don’t forget to push “save” to make the changes definitive. 
     

     

     

    • Like 1
    Link to comment
    Share on other sites

    • 0
    8 minutes ago, SmartHomeEddy said:

    ?


    if you select the variables, then you find the quickapp variables

    Please login or register to see this link.


     

    Then you find the latitude and longitude variables

    Please login or register to see this link.

     

    you can change them by pushing the pencil icon, if you know your location in latutude and longitude.
     

    Or you can delete them by pushing the trash bin icon. The quickapp will make new ones for you, with the location of your HC3. 

     

    Don’t forget to push “save” to make the changes definitive. 
     

     

     

     

    Thank you. 

     

    So its improved but I am still getting stuff in Italy (despite being near Berlin) and two sensors are displayed twice.  Any ideas? 

    Link to comment
    Share on other sites

    • 0
  • Inquirer
  • The labels show five nearby sensors, plus the sensor with the maximum measurement plus the sensor with the maximum 24 hour average.
     

    The measurement in Italy will be the maximum measurements, I guess. 
     

    Please login or register to see this attachment.

     

    Please login or register to see this attachment.


    Please login or register to see this image.

    /monthly_2022_11/radiation-monitor-1c.png.762783dcc152d2602bb666ee45869ef9.png" />


    Can you share a picture of what you see?

    Link to comment
    Share on other sites

    • 0
    15 minutes ago, SmartHomeEddy said:

    The labels show five nearby sensors, plus the sensor with the maximum measurement plus the sensor with the maximum 24 hour average.
     

    The measurement in Italy will be the maximum measurements, I guess. 
     

    Please login or register to see this attachment.

     

    Please login or register to see this attachment.


    Please login or register to see this link.


    Can you share a picture of what you see?

     

    See attached.

    Please login or register to see this attachment.

    Link to comment
    Share on other sites

    • 0
  • Inquirer
  • There are two sensors in Ruhland Germany. 
     

    The sensor in Italy has the highest measurement for both current as 24 Hour average. 

    Link to comment
    Share on other sites

    • 0
  • Inquirer
  • Thanks.

     

    Have fun with it. Although, fun with radiation may be a bit odd.

     

    You can attach some notifications to it, just to be sure.

     

    It also raises some awareness, radiation is a thing of nature (and humans). 

     

     

     

    Edited by SmartHomeEddy
    Link to comment
    Share on other sites

    • 0
  • Inquirer
  • On 11/6/2022 at 9:00 AM, ppeterr said:

    It works great, good job!

     

    What I do wonder, and that has nothing to do with your quickapp. When I look at the positions of the sensors, they are all quite far away from the reactors. The Netherlands does not even have its own sensor. I would have placed one near Borsele :)


    The Utrecht sensor is finaly back in production

     

    Please login or register to see this attachment.

    • Like 1
    Link to comment
    Share on other sites

    • 0
  • Inquirer
  • A new version is available. It is a small update, you can copy-paste the main.lua and i18n.lua files. 

     

     

    Version 1.1 (9th January 2023)

    • Changed handling of negative values for dots and icons: if tonumber(num) >= 0 and tonumber(num) <= 0.3 then 
    • Added a better translation for French (thanks to @fredoki)
    • Like 3
    Link to comment
    Share on other sites

    • 0

    Hi @SmartHomeEddy ,

     

    Translation for Croatian:

    Please login or register to see this code.

     

    You might consider changing line of code that checks local variable language so that new languages can be added without needing to change main code:

     

    Please login or register to see this code.

     

    instead of

     

    Please login or register to see this code.

     

    I noticed that when I added Croatian language to the i18n code, but QA was still resetting variable language from hr to en.

     

    Thank you for another great QA! 👍

    • Thanks 1
    Link to comment
    Share on other sites

    • 0
  • Inquirer
  • Thanks Zoran!

     

    Indeed the main code needed to be changed if a new language was added. Was looking for a way to check the language code in the i18n translation table. 

    Please login or register to see this code.

    Great solution, will implement it, thanks!!!

    Link to comment
    Share on other sites

    • 0
  • Inquirer
  • Uploaded version 1.2 with the support for Croatian language thanks to @Sankotronic 

     

    Changed the way the quickapp variable for the language is checked with the code from @Sankotronic

    So for now you have to copy-paste both the main and i18n file (but in the future only the i18n file if only a language is added). 

    • Like 1
    Link to comment
    Share on other sites

    Join the conversation

    You can post now and register later. If you have an account, sign in now to post with your account.

    Guest
    Answer this question...

    ×   Pasted as rich text.   Paste as plain text instead

      Only 75 emoji are allowed.

    ×   Your link has been automatically embedded.   Display as a link instead

    ×   Your previous content has been restored.   Clear editor

    ×   You cannot paste images directly. Upload or insert images from URL.

    ×
    ×
    • Create New...