Open matscb opened 8 months ago
@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" } ] },
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