-
Notifications
You must be signed in to change notification settings - Fork 0
/
352air_m25_flows.json
1 lines (1 loc) · 4.16 KB
/
352air_m25_flows.json
1
[{"id":"c59f4d226b2a4dd1","type":"tab","label":"352air_m25","disabled":false,"info":"","env":[]},{"id":"4737cac7.9020d4","type":"udp in","z":"c59f4d226b2a4dd1","name":"In for Receive Pm2.5","iface":"233.255.255.255","port":"11530","ipv":"udp4","multicast":"false","group":"233.255.255.255","datatype":"buffer","x":220,"y":580,"wires":[["0276aecf50fd6cde"]]},{"id":"1b50641385f863a1","type":"ha-sensor","z":"c59f4d226b2a4dd1","name":"352air PM25 AQI","entityConfig":"d23c5abe.6df0a8","version":0,"state":"airQualityLevel","stateType":"msg","attributes":[{"property":"IP","value":"ip","valueType":"msg"},{"property":"MAC","value":"mac","valueType":"msg"}],"inputOverride":"allow","outputProperties":[],"x":730,"y":560,"wires":[[]]},{"id":"0276aecf50fd6cde","type":"function","z":"c59f4d226b2a4dd1","name":"Parse Pm2.5","func":"var buf = Buffer.from(msg.payload);\nif (buf.length != 33 || buf[0] != 0xA1) {\n return null;\n}\nvar ipAddr = msg.ip + ':' + msg.port;\nvar macAddr = buf.slice(2, 8).toString('hex');\nvar pm25 = buf.slice(19, 21).readUInt16BE();\n\nvar airQualityLevel = '';\nif (pm25 <= 11) {\n airQualityLevel = 'Excellent';\n} else if (pm25 <= 35) {\n airQualityLevel = 'Good';\n} else if (pm25 <= 55) {\n airQualityLevel = 'Fair';\n} else if (pm25 <= 150) {\n airQualityLevel = 'Inferior';\n} else {\n airQualityLevel = 'Poor';\n}\nvar result = {\n ip: ipAddr,\n mac: macAddr,\n pm25: pm25\n};\nreturn { payload: pm25, ip: ipAddr, mac: macAddr, airQualityLevel: airQualityLevel};","outputs":1,"noerr":0,"initialize":"","finalize":"","libs":[],"x":490,"y":580,"wires":[["1b50641385f863a1","abc3716f520481bf"]]},{"id":"abc3716f520481bf","type":"ha-sensor","z":"c59f4d226b2a4dd1","name":"352air PM25 sensor","entityConfig":"729cbc338c66c361","version":0,"state":"payload","stateType":"msg","attributes":[{"property":"IP","value":"ip","valueType":"msg"},{"property":"MAC","value":"mac","valueType":"msg"}],"inputOverride":"allow","outputProperties":[],"x":740,"y":620,"wires":[[]]},{"id":"d23c5abe.6df0a8","type":"ha-entity-config","server":"9405c3fe.d0a6c","deviceConfig":"82a03237eff4d5f7","name":" 352air_M25 pm25 AQI","version":"6","entityType":"sensor","haConfig":[{"property":"name","value":" 352air_M25 pm25 AQI"},{"property":"icon","value":""},{"property":"entity_category","value":"config"},{"property":"entity_picture","value":""},{"property":"device_class","value":""},{"property":"unit_of_measurement","value":""},{"property":"state_class","value":"measurement"}],"resend":true,"debugEnabled":false},{"id":"729cbc338c66c361","type":"ha-entity-config","server":"a8c279c8.be8be8","deviceConfig":"82a03237eff4d5f7","name":" 352air_M25 pm25 sensor","version":"6","entityType":"sensor","haConfig":[{"property":"name","value":" 352air_M25 pm25 sensor"},{"property":"icon","value":""},{"property":"entity_category","value":"config"},{"property":"entity_picture","value":""},{"property":"device_class","value":"pm25"},{"property":"unit_of_measurement","value":"µg/m³"},{"property":"state_class","value":"measurement"}],"resend":false,"debugEnabled":false},{"id":"9405c3fe.d0a6c","type":"server","name":"Home Assistant","version":5,"addon":true,"rejectUnauthorizedCerts":true,"ha_boolean":"y|yes|true|on|home|open","connectionDelay":true,"cacheJson":true,"heartbeat":false,"heartbeatInterval":30,"areaSelector":"friendlyName","deviceSelector":"friendlyName","entitySelector":"friendlyName","statusSeparator":"at: ","statusYear":"hidden","statusMonth":"short","statusDay":"numeric","statusHourCycle":"h23","statusTimeFormat":"h:m","enableGlobalContextStore":true},{"id":"82a03237eff4d5f7","type":"ha-device-config","name":" 352air_M25","hwVersion":"","manufacturer":"352Air","model":"M25","swVersion":""},{"id":"a8c279c8.be8be8","type":"server","name":"Home Assistant","version":5,"addon":true,"rejectUnauthorizedCerts":true,"ha_boolean":"y|yes|true|on|home|open","connectionDelay":true,"cacheJson":true,"heartbeat":false,"heartbeatInterval":"30","areaSelector":"friendlyName","deviceSelector":"friendlyName","entitySelector":"friendlyName","statusSeparator":"at: ","statusYear":"hidden","statusMonth":"short","statusDay":"numeric","statusHourCycle":"h23","statusTimeFormat":"h:m","enableGlobalContextStore":true}]