[APP][Pro] Wireless Weather Sensors - Reads data from several brands of wireless weather sensors

Hello Ramon,

another one

[{“signal”:“Alecto v1”,“enabled”:true,“stats”:{“total”:140991,“ok”:“77%”,“error”:“22%”,“invalid”:“0%”,“lengths”:{“35”:211,“36”:108655,“37”:104},“payloads”:[{“data”:“0,1,1,0,0,1,0,1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,0,0,1,0,0,1,1,1,1,0,0,0,1,1”,“valid”:true,“when”:“2020-01-19T13:12:27.016Z”},{“data”:“1,1,0,0,1,0,1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,0,0,1,0,0,1,1,1,1,0,0,0,1,1”,“valid”:false,“when”:“2020-01-19T13:12:27.140Z”},{“data”:“0,1,1,0,0,1,0,1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,0,0,1,0,0,1,1,1,1,0,0,0,1,1”,“valid”:true,“when”:“2020-01-19T13:12:27.272Z”},{“data”:“0,1,1,0,0,1,0,1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,0,0,1,0,0,1,1,1,1,0,0,0,1,1”,“valid”:true,“when”:“2020-01-19T13:12:27.454Z”},{“data”:“1,1,0,1,0,1,0,0,0,1,1,0,1,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,1,0,1”,“valid”:false,“when”:“2020-01-19T13:12:28.054Z”},{“data”:“1,1,0,1,0,1,0,0,0,1,1,0,1,1,1,1,1,1,0,0,0,0,1,0,1,1,0,0,0,0,0,0,1,1,0,0”,“valid”:true,“when”:“2020-01-19T13:12:28.155Z”},{“data”:“1,1,0,1,0,1,0,0,0,1,1,0,1,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,1,0,1”,“valid”:false,“when”:“2020-01-19T13:12:28.354Z”},{“data”:“1,1,0,1,0,1,0,0,0,1,1,0,1,1,1,1,1,1,0,0,0,0,1,0,1,1,0,0,0,0,0,0,1,1,0,0”,“valid”:true,“when”:“2020-01-19T13:12:28.455Z”},{“data”:“1,1,0,1,0,1,0,0,0,1,1,0,1,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,1,0,1”,“valid”:false,“when”:“2020-01-19T13:12:28.674Z”},{“data”:“1,1,0,1,0,1,0,0,0,1,1,0,1,1,1,1,1,1,0,0,0,0,1,0,1,1,0,0,0,0,0,0,1,1,0,0”,“valid”:true,“when”:“2020-01-19T13:12:28.829Z”}],“debug”:["[14:12:27.016] {\n ‘id’: ‘166’,\n ‘data’: {\n ‘temperature’: 3.3,\n ‘humidity’: 79,\n ‘lowbattery’: false\n },\n ‘channel’: 3\n}","[14:12:27.018] Sensor value has changed: false","[14:12:27.139] 35 [1,1,0,0,1,0,1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,0,0,1,0,0,1,1,1,1,0,0,0,1,1]","[14:12:27.140] Error: CRC error for Alecto v1 (7 vs 6)","[14:12:27.271] 36 [0,1,1,0,0,1,0,1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,0,0,1,0,0,1,1,1,1,0,0,0,1,1]","[14:12:27.271] {\n ‘id’: ‘166’,\n ‘data’: {\n ‘temperature’: 3.3,\n ‘humidity’: 79,\n ‘lowbattery’: false\n },\n ‘channel’: 3\n}","[14:12:27.273] Sensor value has changed: false","[14:12:27.453] 36 [0,1,1,0,0,1,0,1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,0,0,1,0,0,1,1,1,1,0,0,0,1,1]","[14:12:27.454] {\n ‘id’: ‘166’,\n ‘data’: {\n ‘temperature’: 3.3,\n ‘humidity’: 79,\n ‘lowbattery’: false\n },\n ‘channel’: 3\n}","[14:12:27.456] Sensor value has changed: false","[14:12:28.053] 36 [1,1,0,1,0,1,0,0,0,1,1,0,1,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,1,0,1]","[14:12:28.054] Error: CRC error for Alecto v1 (12 vs 10)","[14:12:28.154] 36 [1,1,0,1,0,1,0,0,0,1,1,0,1,1,1,1,1,1,0,0,0,0,1,0,1,1,0,0,0,0,0,0,1,1,0,0]","[14:12:28.154] {\n ‘id’: ‘43’,\n ‘data’: {\n ‘direction’: 135,\n ‘currentspeed’: 0.6000000000000001,\n ‘lowbattery’: false\n }\n}","[14:12:28.159] Sensor value has changed: true","[14:12:28.354] 36 [1,1,0,1,0,1,0,0,0,1,1,0,1,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,1,0,1]","[14:12:28.354] Error: CRC error for Alecto v1 (12 vs 10)","[14:12:28.454] 36 [1,1,0,1,0,1,0,0,0,1,1,0,1,1,1,1,1,1,0,0,0,0,1,0,1,1,0,0,0,0,0,0,1,1,0,0]","[14:12:28.454] {\n ‘id’: ‘43’,\n ‘data’: {\n ‘direction’: 135,\n ‘currentspeed’: 0.6000000000000001,\n ‘lowbattery’: false\n }\n}","[14:12:28.456] Sensor value has changed: false","[14:12:28.666] 36 [1,1,0,1,0,1,0,0,0,1,1,0,1,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,1,0,1]","[14:12:28.674] Error: CRC error for Alecto v1 (12 vs 10)","[14:12:28.828] 36 [1,1,0,1,0,1,0,0,0,1,1,0,1,1,1,1,1,1,0,0,0,0,1,0,1,1,0,0,0,0,0,0,1,1,0,0]","[14:12:28.828] {\n ‘id’: ‘43’,\n ‘data’: {\n ‘direction’: 135,\n ‘currentspeed’: 0.6000000000000001,\n ‘lowbattery’: false\n }\n}","[14:12:28.830] Sensor value has changed: false"],“last”:{“id”:“43”,“data”:{“direction”:135,“currentspeed”:0.6000000000000001,“lowbattery”:false},“protocol”:“alectov1”,“lastupdate”:“2020-01-19T13:12:28.829Z”}}},{“signal”:“Alecto v3”,“enabled”:true,“stats”:{“total”:0,“ok”:“0%”,“error”:“0%”,“invalid”:“0%”,“lengths”:{},“payloads”:,“debug”:}},{“signal”:“Auriol”,“enabled”:true,“stats”:{“total”:0,“ok”:“0%”,“error”:“0%”,“invalid”:“0%”,“lengths”:{},“payloads”:,“debug”:}},{“signal”:“Cresta / TFA”,“enabled”:true,“stats”:{“total”:0,“ok”:“0%”,“error”:“0%”,“invalid”:“0%”,“lengths”:{},“payloads”:,“debug”:}},{“signal”:“Labs”,“enabled”:true,“stats”:{“total”:90813,“ok”:“0%”,“error”:“100%”,“invalid”:“0%”,“lengths”:{“36”:2},“payloads”:[{“data”:“0,1,1,0,0,1,0,1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,0,0,1,0,0,1,1,1,1,0,0,0,1,1”,“valid”:false,“when”:“2020-01-19T13:12:26.588Z”},{“data”:“0,1,1,0,0,1,0,1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,0,0,1,0,0,1,1,1,1,0,0,0,1,1”,“valid”:false,“when”:“2020-01-19T13:12:26.781Z”},{“data”:“0,1,1,0,0,1,0,1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,0,0,1,0,0,1,1,1,1,0,0,0,1,1”,“valid”:false,“when”:“2020-01-19T13:12:27.021Z”},{“data”:“0,1,1,0,0,1,0,1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,0,0,1,0,0,1,1,1,1,0,0,0,1,1”,“valid”:false,“when”:“2020-01-19T13:12:27.276Z”},{“data”:“1,1,0,1,0,1,0,0,0,1,1,0,1,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,1,0,1”,“valid”:false,“when”:“2020-01-19T13:12:28.061Z”},{“data”:“1,1,0,1,0,1,0,0,0,1,1,0,1,1,1,1,1,1,0,0,0,0,1,0,1,1,0,0,0,0,0,0,1,1,0,0”,“valid”:false,“when”:“2020-01-19T13:12:28.163Z”},{“data”:“1,1,0,1,0,1,0,0,0,1,1,0,1,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,1,0,1”,“valid”:false,“when”:“2020-01-19T13:12:28.361Z”},{“data”:“1,1,0,1,0,1,0,0,0,1,1,0,1,1,1,1,1,1,0,0,0,0,1,0,1,1,0,0,0,0,0,0,1,1,0,0”,“valid”:false,“when”:“2020-01-19T13:12:28.463Z”},{“data”:“1,1,0,1,0,1,0,0,0,1,1,0,1,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,1,0,1”,“valid”:false,“when”:“2020-01-19T13:12:28.678Z”},{“data”:“1,1,0,1,0,1,0,0,0,1,1,0,1,1,1,1,1,1,0,0,0,0,1,0,1,1,0,0,0,0,0,0,1,1,0,0”,“valid”:false,“when”:“2020-01-19T13:12:28.834Z”}],“debug”:["[14:12:16.384] Error: CRC error for Labs data (0 vs 7)","[14:12:16.644] 36 [0,1,1,1,0,0,0,0,0,1,1,0,1,1,0,0,0,0,1,1,1,0,1,1,0,0,0,0,0,0,0,0,1,1,1,0]","[14:12:16.644] Error: CRC error for Labs data (0 vs 7)","[14:12:16.922] 36 [0,1,1,1,0,0,0,0,0,1,1,0,1,1,0,0,0,0,1,1,1,0,1,1,0,0,0,0,0,0,0,0,1,1,1,0]","[14:12:16.923] Error: CRC error for Labs data (0 vs 7)","[14:12:26.587] 36 [0,1,1,0,0,1,0,1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,0,0,1,0,0,1,1,1,1,0,0,0,1,1]","[14:12:26.588] Error: CRC error for Labs data (3 vs 12)","[14:12:26.780] 36 [0,1,1,0,0,1,0,1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,0,0,1,0,0,1,1,1,1,0,0,0,1,1]","[14:12:26.781] Error: CRC error for Labs data (3 vs 12)","[14:12:27.020] 36 [0,1,1,0,0,1,0,1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,0,0,1,0,0,1,1,1,1,0,0,0,1,1]","[14:12:27.021] Error: CRC error for Labs data (3 vs 12)","[14:12:27.276] 36 [0,1,1,0,0,1,0,1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,0,0,1,0,0,1,1,1,1,0,0,0,1,1]","[14:12:27.276] Error: CRC error for Labs data (3 vs 12)","[14:12:28.060] 36 [1,1,0,1,0,1,0,0,0,1,1,0,1,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,1,0,1]","[14:12:28.061] Error: CRC error for Labs data (5 vs 10)","[14:12:28.163] 36 [1,1,0,1,0,1,0,0,0,1,1,0,1,1,1,1,1,1,0,0,0,0,1,0,1,1,0,0,0,0,0,0,1,1,0,0]","[14:12:28.163] Error: CRC error for Labs data (12 vs 3)","[14:12:28.360] 36 [1,1,0,1,0,1,0,0,0,1,1,0,1,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,1,0,1]","[14:12:28.361] Error: CRC error for Labs data (5 vs 10)","[14:12:28.463] 36 [1,1,0,1,0,1,0,0,0,1,1,0,1,1,1,1,1,1,0,0,0,0,1,0,1,1,0,0,0,0,0,0,1,1,0,0]","[14:12:28.463] Error: CRC error for Labs data (12 vs 3)","[14:12:28.677] 36 [1,1,0,1,0,1,0,0,0,1,1,0,1,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,1,0,1]","[14:12:28.678] Error: CRC error for Labs data (5 vs 10)","[14:12:28.833] 36 [1,1,0,1,0,1,0,0,0,1,1,0,1,1,1,1,1,1,0,0,0,0,1,0,1,1,0,0,0,0,0,0,1,1,0,0]","[14:12:28.834] Error: CRC error for Labs data (12 vs 3)"],“last”:{“name”:“BL999”,“id”:“44”,“channel”:1,“data”:{“temperature”:0.1,“humidity”:-155,“lowbattery”:false},“protocol”:“labs”,“lastupdate”:“2020-01-19T11:22:25.082Z”}}},{“signal”:“La Crosse TX2/3”,“enabled”:true,“stats”:{“total”:0,“ok”:“0%”,“error”:“0%”,“invalid”:“0%”,“lengths”:{},“payloads”:,“debug”:}},{“signal”:“La Crosse WS”,“enabled”:true,“stats”:{“total”:1,“ok”:“0%”,“error”:“100%”,“invalid”:“0%”,“lengths”:{},“payloads”:[{“data”:“0,0,0,1,1,1,0,1,1,1,0,1,0,0,0,1,0,0,0,1,1,0,0,0,0,0,1,0,1,1,0,1,0,1,1,0,1,1,1,0,1,1,0,0,1,1,1,1,0,1,1,0,1,1,1,0,0,1,1,1,1,1,1,0,1”,“valid”:false,“when”:“2020-01-18T14:58:02.878Z”}],“debug”:["[15:58:02.877] 65 [0,0,0,1,1,1,0,1,1,1,0,1,0,0,0,1,0,0,0,1,1,0,0,0,0,0,1,0,1,1,0,1,0,1,1,0,1,1,1,0,1,1,0,0,1,1,1,1,0,1,1,0,1,1,1,0,0,1,1,1,1,1,1,0,1]","[15:58:02.878] Error: Not a known message type of length 65"]}},{“signal”:“Oregon Scientific v2.1”,“enabled”:true,“stats”:{“total”:0,“ok”:“0%”,“error”:“0%”,“invalid”:“0%”,“lengths”:{},“payloads”:,“debug”:}},{“signal”:“Oregon Scientific v2.2”,“enabled”:true,“stats”:{“total”:0,“ok”:“0%”,“error”:“0%”,“invalid”:“0%”,“lengths”:{},“payloads”:,“debug”:}},{“signal”:“Oregon Scientific v3”,“enabled”:true,“stats”:{“total”:0,“ok”:“0%”,“error”:“0%”,“invalid”:“0%”,“lengths”:{},“payloads”:,“debug”:}},{“signal”:“UPM/Esic”,“enabled”:true,“stats”:{“total”:1187,“ok”:“0%”,“error”:“100%”,“invalid”:“0%”,“lengths”:{},“payloads”:[{“data”:“2,2,2,2,1,1,1,1,2,1,1,2,2,1,1,1,1,1”,“valid”:false,“when”:“2020-01-19T08:49:24.363Z”},{“data”:“2,2,2,2,1,1,1,1,2,1,1,2,2,1,1,1,1,1”,“valid”:false,“when”:“2020-01-19T08:50:23.521Z”},{“data”:“2,2,2,2,1,1,1,1,2,1,1,2,2,1,1,1,1,1”,“valid”:false,“when”:“2020-01-19T08:51:22.687Z”},{“data”:“2,2,2,2,1,1,1,1,2,1,1,2,2,1,1,1,1,1”,“valid”:false,“when”:“2020-01-19T08:54:22.306Z”},{“data”:“2,2,2,2,1,1,1,1,2,1,1,2,2,1,1,1,1,1”,“valid”:false,“when”:“2020-01-19T08:55:21.510Z”},{“data”:“2,2,2,2,1,1,1,1,2,1,1,2,2,1,1,1,1,1”,“valid”:false,“when”:“2020-01-19T08:56:20.728Z”},{“data”:“2,2,2,2,1,1,1,1,2,1,1,2,2,1,1,1,1,1”,“valid”:false,“when”:“2020-01-19T09:04:14.722Z”},{“data”:“2,2,2,2,1,1,1,1,2,1,1,2,2,1,1,1,1,1”,“valid”:false,“when”:“2020-01-19T09:23:02.113Z”},{“data”:“2,2,2,2,1,1,1,1,1,1,2,2,2,1,1,1,1,1”,“valid”:false,“when”:“2020-01-19T09:24:04.834Z”},{“data”:“0,0,0,2,1,0,2,3,1,2,3,3,3,3,3,3,3,3,3”,“valid”:false,“when”:“2020-01-19T09:39:32.296Z”}],“debug”:["[09:50:23.521] Error: Not a valid message","[09:51:22.685] 18 [2,2,2,2,1,1,1,1,2,1,1,2,2,1,1,1,1,1]","[09:51:22.685] New bitstream 0000000011110011000011111 25","[09:51:22.687] Error: Not a valid message","[09:54:22.305] 18 [2,2,2,2,1,1,1,1,2,1,1,2,2,1,1,1,1,1]","[09:54:22.305] New bitstream 0000000011110011000011111 25","[09:54:22.306] Error: Not a valid message","[09:55:21.508] 18 [2,2,2,2,1,1,1,1,2,1,1,2,2,1,1,1,1,1]","[09:55:21.509] New bitstream 0000000011110011000011111 25","[09:55:21.510] Error: Not a valid message","[09:56:20.727] 18 [2,2,2,2,1,1,1,1,2,1,1,2,2,1,1,1,1,1]","[09:56:20.727] New bitstream 0000000011110011000011111 25","[09:56:20.728] Error: Not a valid message","[10:04:14.721] 18 [2,2,2,2,1,1,1,1,2,1,1,2,2,1,1,1,1,1]","[10:04:14.722] New bitstream 0000000011110011000011111 25","[10:04:14.722] Error: Not a valid message","[10:23:02.112] 18 [2,2,2,2,1,1,1,1,2,1,1,2,2,1,1,1,1,1]","[10:23:02.112] New bitstream 0000000011110011000011111 25","[10:23:02.113] Error: Not a valid message","[10:24:04.832] 18 [2,2,2,2,1,1,1,1,1,1,2,2,2,1,1,1,1,1]","[10:24:04.833] New bitstream 0000000011111100000011111 25","[10:24:04.834] Error: Not a valid message","[10:39:32.294] 19 [0,0,0,2,1,0,2,3,1,2,3,3,3,3,3,3,3,3,3]","[10:39:32.295] New bitstream 00000100010100101010101010101010 32","[10:39:32.296] Error: Not a valid message"]}}]

ne 19. 1. 2020 o 14:05 Ramón Baas via Homey Community Forum athom@discoursemail.com napísal(a):

Plz guys, why all this code in this posts?
Send them in a PM to whoever needs the code or make it code with the following:

Select the pencil to edit ur post:

chrome_2020-01-19_14-25-42

Then select all ur txt and hit the </> button:

Afbeelding1

Will look nice!

@KarolG Thanks! This helped me to identify a bug, which caused you not to see the average speed. Will fix that as well.

And listen to @Rocodamelshekima :smile:.

1 Like

Updated test version to 2.5.2.

Hello Ramón,
i tryed your new version af App v2.5.2. I think results is correct now.

.
I do test of in next days and inform about results. only totay begin wind :slight_smile:

But i have too another task according measure Rain.
results on display is in Rain sensor. according compare measure on original display it is not sqare meter but mm of rain fall. In this diplay maybbe is nice to have cumulative rainfall per day, week month. maybee to possibility for reset cumulative to zero. this is only idea.


many thanks for your great work

Thanks again for testing @KarolG.

Rain data is a challenge indeed. I’m using the default Homey capabilities, which offers:

  • measure_rain: Rain in millimeter (mm)
  • meter_rain: Rain in Cubic Meter (m³)

I really wouldn’t know how to convert total rainfall in mm to m³ when there is no surface size to relate to.

What would have been more logical in my view would be:

  • measure_rain: Rain rate in millimeter/hour (mm/hr)
  • meter_rain: Rain total in millimeter (mm)

So to fix this, I would need to create custom capabilities. I’ll think about this one.

Many thanks, for me it is realy great interest/job from you :+1:

On amazon: Alecto has bad reviews. Much better Bresser.
You know if it works with your App?
I attach amazon link:
amazon Bresser Weather Center Stazione meteorologica 5 in 1
tks for support
regards
Maurizio

@Mauri2905 No idea which protocol the Bresser uses or whether it even communicates via 433 MHz.

Transmission frequency 868 MHz
BRESSER WEATHER CENTER 5-IN-1 BLACK

That answers your question. 868 MHz is not supported.

Any chances that you will support also this frequency?

Ciao

Mauri

No, Homey does not support receiving these signals on 868MHz.

Hi All,

I’m looking for temperature sensors for outside.
Without an weather station.

Which affordable supported sensor should is use?

thnx

Have you considered making it a sub capability by defining measure_rain.total and then giving it a new title using the title option in the app.json?
I have done this with my app and it works well.

For example, this is what I use in app.json:

   "capabilities": [
        "measure_temperature",
        "measure_temperature.feelsLike",
        "measure_temperature.windchill",
        "measure_temperature.dewPoint",
        "measure_humidity",
        "measure_wind_angle",
        "measure_wind_strength",
        "measure_gust_strength",
        "measure_rain",
        "measure_rain.total",
        "measure_pressure"
    ],
    "capabilitiesOptions":
    {
        "measure_temperature.feelsLike":
        {
            "title": { "en": "Feels Like" }
        },
        "measure_temperature.windchill":
        {
            "title": { "en": "Wind chill" }
        },
        "measure_temperature.dewPoint":
        {
            "title": { "en": "Dew point" }
        },
        "measure_rain.total":
        {
            "title": { "en": "Rain Total" }
        }
    },

Setting the value is just the same, e.g. this.setCapabilityValue(“measure_rain.total”, currentData.metric.precipTotal);

I don’t think that is WiFi enabled either so probably not much hope to support it.
I purchased one of the WiFi enabled Bresser 5 in 1 (https://www.amazon.it/dp/B07JMVG1WC/ref=psdc_9337413031_t1_B0170A47DI) which can publish results to Weather Underground and I have written an app that grabs the data from there. I will be publishing the app soon if that helps you.

Very interesting.
Yes if you public the app and give some details as work I will bay the same weather station like you

Ciao

Mauri

So we don’t hijack this thread anymore you can follow progress at Weather Underground PWS app

@Adrian_Rockall Thanks for the tip, but making it is sub-capability does not solve the unit. Sub-capabilities use the same unit. But creating a custom capability does not have that restriction.

But at least the units for both are in mm which is more logical. The title tells you what it is.