Support for multi-channel Weather Station
Device Infomation JSON File
No response
Detail Informations
I have a Ventus W640 weather station that is supported Tuya. It is multichannel temperature/humidity device (7 channels + 1 channel in the station as such).
I would be nice to be able to show all 8 channels in HomeKit (maybe a separate sensors). Do you see any possibility for this? Currently is only the device own temp and humidity values shown not the additional channels.
In the Tuya IoT Platform it looks like attached (for two first additional channels):
Rgds, Mats
@0x5e same https://github.com/0x5e/homebridge-tuya-platform/issues/292
@0x5e I've written a node for nodered and I send data to influxdb, but it would be really nice to add this to a plugin. I can share my knowledge, in general I have studied this weather station quite well.
Thanks @mrmaximas , sorry I have no enough time to maintain the project recently.
I've been used the node-red before, maybe it's a better solution to expose all tuya data points on node-red, and let user convert data point to homekit service/characteristic manually. cuz there's soooooo many tuya products with different definitions, it's really hard for me to support them one by one :(
cuz there's soooooo many tuya products with different definitions, it's really hard for me to support them one by one :(
I see your point! By the way, Homekit supports just few values sent by this weather station. I think it would be nice to add indoor/outdoor temperature and humidity, may be outdoor illumination. Below I will give a piece of node red code, where you can see which DP is responsible for which values. If you need more infornation i comment this any time. Thanks!
let obj = msg.payload.data.dps let fin = {} if (obj.hasOwnProperty(1)){ fin["temperature_in"] = obj["1"]/10 }; if (obj.hasOwnProperty(2)) { fin["humidity_in"] = obj["2"] }; if (obj.hasOwnProperty(38)) { fin["temperature_out"] = obj["38"]/10 }; if (obj.hasOwnProperty(39)) { fin["humidity_out"] = obj["39"] }; if (obj.hasOwnProperty(54)) { fin["pressure"] = obj["54"]/10 }; if (obj.hasOwnProperty(55)) { fin["pressure_drop"] = obj["55"] }; if (obj.hasOwnProperty(56)) { fin["wind_speed"] = obj["56"]/10 }; if (obj.hasOwnProperty(57)) { fin["wind_gust"] = obj["57"]/10 }; if (obj.hasOwnProperty(60)) { fin["daily_rainfall"] = obj["60"]/1000 }; if (obj.hasOwnProperty(61)) { fin["rain_rate"] = obj["61"]/1000 }; if (obj.hasOwnProperty(62)) { fin["uv_index"] = obj["62"]/10 }; if (obj.hasOwnProperty(63)) { fin["illuminance"] = obj["63"] }; if (obj.hasOwnProperty(64)) { fin["dew_point"] = obj["64"]/10 }; if (obj.hasOwnProperty(65)) { fin["feels_like"] = obj["65"]/10 }; if (obj.hasOwnProperty(66)) { fin["heat_index"] = obj["66"]/10 }; if (obj.hasOwnProperty(67)) { fin["wind_chill"] = obj["67"]/10 }; if (obj.hasOwnProperty(101)) { fin["wind_angle"] = obj["101"] };
A question from someone new to this.
I would not be possible to use the concept of "Non-standard DP" and "override the device schema" (as described in the documentation) for the additional 7 channels as seen in my original post, mapping the temp and humidity values to standard DP codes?
I tried to use the concepts mentioned above. By this I could define which of the channels (temp and humidity) that is displayed in HomeKit. I assume this is because the plugin only supports single channel Tuya temp and humidity sensor.
This solved one of my problems as I wanted to display a pool temperature in Homekit and this is connected to one of the additional channels but then I lost the display of indoor temp and humidity that is built into the base unit of the weather station.
@matscb finally it's my working config for external gauge only { "id": "bf2733df5541a391111111", "category": "wsdcg", "schema": [ { "code": "temp_current_external", "newCode": "va_temperature" }, { "code": "humidity_outdoor", "newCode": "va_humidity" } ] },
@mrmaximas I have a similar issue with another product, I can get data from any one temp sensor, but not more than one. In the below mapping only the first va_temperature will be shown. Did you find a way to get multiple?
"schema": [
{
"code": "ToutCh1",
"newCode": "va_temperature",
},
{
"code": "HoutCh1",
"newCode": "humidity_value",
},
{
"code": "ToutCh2",
"newCode": "va_temperature",
},
```
@TristanBrotherton i don't have any external sensors. try to make device with the same id but with another schema?