This is the forum archive of Homey. For more information about Homey, visit the Official Homey website.
The Homey Community has been moved to https://community.athom.com.
This forum is now read-only for archive purposes.
The Homey Community has been moved to https://community.athom.com.
This forum is now read-only for archive purposes.
Closed Official Z-Wave SDK2
[APP] MCOHome app - Main discussion topic (v1.1.2)
This discussion has been closed.
Comments
Did the value on the display change by more than 1.0 ug/m3?
This is the device default (unchangeable) threshold for sending the PM2.5 measurements to the controller....
Could you send me (or attach) the Z-wave log (Settings > Z-wave > Stuff for geeks > Log) filtered on the Node ID number of your PM2.5 sensor? Preferably while triggering the sensor...
Thanks, Ted
COMMAND_CLASS_SENSOR_MULTILEVEL, 0x0523 = SENSOR_MULTILEVEL_REPORT for Particulate Matter 2.5 (v7)
and an occasional COMMAND_CLASS_SENSOR_MULTILEVEL, 0x0505 = SENSOR_MULTILEVEL_REPORT for Relative humidity (version 2)
so there could be something wrong with the report parser(s).
Would you be able to run the MCOHome app in debug mode (any experience with that) and post the debug log from the command line here; it will show the parsed reports which I can check with the report parsers.
I have no experience with debug mode, but with instructions I can do it right away.
Marius
You'll need to download the MCOHome app from my repository:
https://github.com/TedTolboom/com.mcohome
And follow the instructions to install the app in debug mode (athom project --debug) as described at: https://forum.athom.com/discussion/1448/how-to-cli-install-method
Note: current Node.js version is 8.4.0
The debug log will show in the terminal / command prompt.
Once finished, terminate the debug session with CTRL-C and re-install the app from the app store
Issue found:
The command received by Homey (in HEX) is not parsed (correctly); the 'Sensor Type (RAW)' is not parsed into readable form whereas the report parsed (which I added for PM2.5 to the meshdriver) is checking the following condition:
Looking a bit further into the issue, the version of the Sensor Multilevel CC that the sensor is providing is wrong:
This is not something possible to solve / contain in Homey, since Athom is following the Z-wave specifications.
To contain (no need to wait for a device firmware update), I've added a containment to the device driver that will parse the report based on 'Sensor Type (RAW)'.
The GitHub repo has been updated (to version 1.0.3), if you could verify that this one is working correctly.
After confirmation I will push this version to the app store.
Will soon be home and will test right away and report back to you.
All values now working without a flaw.
Marius
In the Netherlands most sellers sell this sensor together with the optional VOC sensor. On tweakers I found this message regarding this sensor:
"2. For VOC(optional), actually we have been selling MH9 to our dealers with VOC sensor, but you can only read VOC level from MH9 screen, since by now Z-Wave protocol do not have command to read VOC level. If you do not need VOC sensor, you can ask for this special requirement from your supplier."
Is this really a missing part in the Z-Wave protocol itself? It seems like just another value. Do you have any ideas regarding this? Reading this value on the Homey should be a very positive thing for this product!
The Z-wave protocol is a quite formal protocol (for good reasons); it is not possible to add as manufacturer an own data type. This has to be done through an update of the specification of the Z-wave Alliance.
The info from Tweakers is a bit outdated.
The CO2 sensor's firmware uses the V5 version of the Multilevel Sensor command class, in which the VOC (Volatile Organic Compound) is not present. Only as of V7 has this data type been added to the specifications; likely introduced after the release of this sensor...
As far as I'm aware (I can check with my contact at MCOHome), it is not possible to update the firmware of this device... So luckily enough, no option to add a trigger to check if too much alcohol is consumed.... ;-P
Your link to V7 specifications are telling that PPM values are supported. The MH9 only gives 4 levels of values which are not supported. This was my answer from MCO Home:
"If so, by now the VOC sensor we are using can just support 4 VOC Level: Poor, Average, Good, Excellent, and there is no Z-Wave standard protocol can read VOC level but PPM value. Additionally, because CO2 is the key feature for this product, regret that we do not have roadmap to replace VOC sensor which can display PPM value, unless there is a big order request, and for PPM VOC sensor, the cost will be much higher than our current one. "
Thanks again for your explanation. Wasn't aware of these values been build in the protocol itself!
Hi.
Any status when support for MH-P220 will be added?
Great update, and thanks for the fast service, it works great now!
Any Idea when the CO2 alarm will be triggered? Doesn't seem to do anything (yet).
Can I make a (small) request for an improvement of the app? Today my Wife was Cooking for serveral hours in the kitchen. According to the documentation the maximum value of the Co2 Sensor on the screen is 2000PPM. Today this value has been reached because of the cooking (and the placement of the sensor near the kitchen). In the monitoring I than see the values bouncing between 2.000PPM and 10.000 PPM, which really 'screws' the graph.
Do you know wether this value has been send from MCOHome or this is an bug in the app? If it's been send by MCO, are you able to intercept this value and revalue this to 2.000?
Could you run the app in debug mode 'athom project --run' ? It will show the reports being received by Homey.
Can you post the debug logging of the 2000 and 10000 reports? You might need to ask your wife to do some additional cooking...
As soon as my wife was in the kitchen, I've turned down the ventilation so it went really fast..
As far as I can see there are two things which I noticed:
1: The Values received from the MCO Home bounce between 2.000 and 10.000 once this limit is reached. Is there anything in this app you maybe can do to 'catch' this 10.000 value and don't show it in the statistics?
2: Still I haven't received an CO2 alarm. Is this function working? Shouldn't the 10.000 value maybe trigger the alarm?
Hereby the log:
2017-11-13 17:56:34 [log] [MCOhomeApp] MCOhomeApp is running...
2017-11-13 17:56:34 [log] [ManagerDrivers] [MH9-CO2] [0] ZwaveDevice has been inited
2017-11-13 17:56:34 [log] [ManagerDrivers] [MH9-CO2] [0] ------------------------------------------
2017-11-13 17:56:34 [log] [ManagerDrivers] [MH9-CO2] [0] Node: 3f6406cd-4a88-433a-ba10-45bbb0aee94f
2017-11-13 17:56:34 [log] [ManagerDrivers] [MH9-CO2] [0] - Battery: false
2017-11-13 17:56:34 [log] [ManagerDrivers] [MH9-CO2] [0] - CommandClass: COMMAND_CLASS_SENSOR_MULTILEVEL
2017-11-13 17:56:34 [log] [ManagerDrivers] [MH9-CO2] [0] -- Version: 5
2017-11-13 17:56:34 [log] [ManagerDrivers] [MH9-CO2] [0] -- Commands:
2017-11-13 17:56:34 [log] [ManagerDrivers] [MH9-CO2] [0] --- SENSOR_MULTILEVEL_GET
2017-11-13 17:56:34 [log] [ManagerDrivers] [MH9-CO2] [0] --- SENSOR_MULTILEVEL_REPORT
2017-11-13 17:56:34 [log] [ManagerDrivers] [MH9-CO2] [0] --- SENSOR_MULTILEVEL_SUPPORTED_GET_SENSOR
2017-11-13 17:56:34 [log] [ManagerDrivers] [MH9-CO2] [0] --- SENSOR_MULTILEVEL_SUPPORTED_SENSOR_REPORT
2017-11-13 17:56:34 [log] [ManagerDrivers] [MH9-CO2] [0] --- SENSOR_MULTILEVEL_SUPPORTED_GET_SCALE
2017-11-13 17:56:34 [log] [ManagerDrivers] [MH9-CO2] [0] --- SENSOR_MULTILEVEL_SUPPORTED_SCALE_REPORT
2017-11-13 17:56:35 [log] [ManagerDrivers] [MH9-CO2] [0] - CommandClass: COMMAND_CLASS_SENSOR_CONFIGURATION
2017-11-13 17:56:35 [log] [ManagerDrivers] [MH9-CO2] [0] -- Version: 1
2017-11-13 17:56:35 [log] [ManagerDrivers] [MH9-CO2] [0] -- Commands:
2017-11-13 17:56:35 [log] [ManagerDrivers] [MH9-CO2] [0] --- SENSOR_TRIGGER_LEVEL_GET
2017-11-13 17:56:35 [log] [ManagerDrivers] [MH9-CO2] [0] --- SENSOR_TRIGGER_LEVEL_REPORT
2017-11-13 17:56:35 [log] [ManagerDrivers] [MH9-CO2] [0] --- SENSOR_TRIGGER_LEVEL_SET
2017-11-13 17:56:35 [log] [ManagerDrivers] [MH9-CO2] [0] - CommandClass: COMMAND_CLASS_CONFIGURATION
2017-11-13 17:56:35 [log] [ManagerDrivers] [MH9-CO2] [0] -- Version: 1
2017-11-13 17:56:35 [log] [ManagerDrivers] [MH9-CO2] [0] -- Commands:
2017-11-13 17:56:35 [log] [ManagerDrivers] [MH9-CO2] [0] --- CONFIGURATION_GET
2017-11-13 17:56:35 [log] [ManagerDrivers] [MH9-CO2] [0] --- CONFIGURATION_REPORT
2017-11-13 17:56:35 [log] [ManagerDrivers] [MH9-CO2] [0] --- CONFIGURATION_SET
2017-11-13 17:56:35 [log] [ManagerDrivers] [MH9-CO2] [0] - CommandClass: COMMAND_CLASS_NOTIFICATION
2017-11-13 17:56:35 [log] [ManagerDrivers] [MH9-CO2] [0] -- Version: 4
2017-11-13 17:56:35 [log] [ManagerDrivers] [MH9-CO2] [0] -- Commands:
2017-11-13 17:56:35 [log] [ManagerDrivers] [MH9-CO2] [0] --- NOTIFICATION_GET
2017-11-13 17:56:35 [log] [ManagerDrivers] [MH9-CO2] [0] --- NOTIFICATION_REPORT
2017-11-13 17:56:35 [log] [ManagerDrivers] [MH9-CO2] [0] --- NOTIFICATION_SET
2017-11-13 17:56:35 [log] [ManagerDrivers] [MH9-CO2] [0] --- NOTIFICATION_SUPPORTED_GET
2017-11-13 17:56:35 [log] [ManagerDrivers] [MH9-CO2] [0] --- NOTIFICATION_SUPPORTED_REPORT
2017-11-13 17:56:35 [log] [ManagerDrivers] [MH9-CO2] [0] --- EVENT_SUPPORTED_GET
2017-11-13 17:56:35 [log] [ManagerDrivers] [MH9-CO2] [0] --- EVENT_SUPPORTED_REPORT
2017-11-13 17:56:35 [log] [ManagerDrivers] [MH9-CO2] [0] - CommandClass: COMMAND_CLASS_ASSOCIATION
2017-11-13 17:56:35 [log] [ManagerDrivers] [MH9-CO2] [0] -- Version: 1
2017-11-13 17:56:35 [log] [ManagerDrivers] [MH9-CO2] [0] -- Commands:
2017-11-13 17:56:35 [log] [ManagerDrivers] [MH9-CO2] [0] --- ASSOCIATION_GET
2017-11-13 17:56:35 [log] [ManagerDrivers] [MH9-CO2] [0] --- ASSOCIATION_GROUPINGS_GET
2017-11-13 17:56:35 [log] [ManagerDrivers] [MH9-CO2] [0] --- ASSOCIATION_GROUPINGS_REPORT
2017-11-13 17:56:35 [log] [ManagerDrivers] [MH9-CO2] [0] --- ASSOCIATION_REMOVE
2017-11-13 17:56:35 [log] [ManagerDrivers] [MH9-CO2] [0] --- ASSOCIATION_REPORT
2017-11-13 17:56:35 [log] [ManagerDrivers] [MH9-CO2] [0] --- ASSOCIATION_SET
2017-11-13 17:56:35 [log] [ManagerDrivers] [MH9-CO2] [0] - CommandClass: COMMAND_CLASS_MANUFACTURER_SPECIFIC
2017-11-13 17:56:35 [log] [ManagerDrivers] [MH9-CO2] [0] -- Version: 1
2017-11-13 17:56:35 [log] [ManagerDrivers] [MH9-CO2] [0] -- Commands:
2017-11-13 17:56:35 [log] [ManagerDrivers] [MH9-CO2] [0] --- MANUFACTURER_SPECIFIC_GET
2017-11-13 17:56:35 [log] [ManagerDrivers] [MH9-CO2] [0] --- MANUFACTURER_SPECIFIC_REPORT
2017-11-13 17:56:35 [log] [ManagerDrivers] [MH9-CO2] [0] - CommandClass: COMMAND_CLASS_VERSION
2017-11-13 17:56:35 [log] [ManagerDrivers] [MH9-CO2] [0] -- Version: 1
2017-11-13 17:56:35 [log] [ManagerDrivers] [MH9-CO2] [0] -- Commands:
2017-11-13 17:56:35 [log] [ManagerDrivers] [MH9-CO2] [0] --- VERSION_COMMAND_CLASS_GET
2017-11-13 17:56:35 [log] [ManagerDrivers] [MH9-CO2] [0] --- VERSION_COMMAND_CLASS_REPORT
2017-11-13 17:56:35 [log] [ManagerDrivers] [MH9-CO2] [0] --- VERSION_GET
2017-11-13 17:56:35 [log] [ManagerDrivers] [MH9-CO2] [0] --- VERSION_REPORT
2017-11-13 17:56:35 [log] [ManagerDrivers] [MH9-CO2] [0] - CommandClass: COMMAND_CLASS_BASIC
2017-11-13 17:56:35 [log] [ManagerDrivers] [MH9-CO2] [0] -- Version: 1
2017-11-13 17:56:35 [log] [ManagerDrivers] [MH9-CO2] [0] -- Commands:
2017-11-13 17:56:35 [log] [ManagerDrivers] [MH9-CO2] [0] --- BASIC_GET
2017-11-13 17:56:35 [log] [ManagerDrivers] [MH9-CO2] [0] --- BASIC_REPORT
2017-11-13 17:56:35 [log] [ManagerDrivers] [MH9-CO2] [0] --- BASIC_SET
2017-11-13 17:56:35 [log] [ManagerDrivers] [MH9-CO2] [0] ------------------------------------------
2017-11-13 17:56:35 [log] [ManagerDrivers] [MH9-CO2] [0]
2017-11-13 17:56:37 [log] [ManagerDrivers] [MH9-CO2] [0] node.CommandClass['COMMAND_CLASS_SENSOR_MULTILEVEL'].on('report') arguments: { '0': { value: 5, name: 'SENSOR_MULTILEVEL_REPORT' },
'1':
{ 'Sensor Type (Raw)': <Buffer 11>,
'Sensor Type': 'CO2-level (version 3)',
'Level (Raw)': <Buffer 02>,
Level: { Size: 2, Scale: 0, Precision: 0 },
'Sensor Value': <Buffer 27 10>,
'Sensor Value (Parsed)': 10000 },
'2': null }
2017-11-13 17:56:41 [log] [ManagerDrivers] [MH9-CO2] [0] node.CommandClass['COMMAND_CLASS_SENSOR_MULTILEVEL'].on('report') arguments: { '0': { value: 5, name: 'SENSOR_MULTILEVEL_REPORT' },
'1':
{ 'Sensor Type (Raw)': <Buffer 11>,
'Sensor Type': 'CO2-level (version 3)',
'Level (Raw)': <Buffer 02>,
Level: { Size: 2, Scale: 0, Precision: 0 },
'Sensor Value': <Buffer 07 d0>,
'Sensor Value (Parsed)': 2000 },
'2': null }
2017-11-13 17:56:45 [log] [ManagerDrivers] [MH9-CO2] [0] node.CommandClass['COMMAND_CLASS_SENSOR_MULTILEVEL'].on('report') arguments: { '0': { value: 5, name: 'SENSOR_MULTILEVEL_REPORT' },
'1':
{ 'Sensor Type (Raw)': <Buffer 05>,
'Sensor Type': 'Relative humidity (version 2)',
'Level (Raw)': <Buffer 01>,
Level: { Size: 1, Scale: 0, Precision: 0 },
'Sensor Value': <Buffer 3d>,
'Sensor Value (Parsed)': 61 },
'2': null }
2017-11-13 17:57:35 [log] [ManagerDrivers] [MH9-CO2] [0] node.CommandClass['COMMAND_CLASS_SENSOR_MULTILEVEL'].on('report') arguments: { '0': { value: 5, name: 'SENSOR_MULTILEVEL_REPORT' },
'1':
{ 'Sensor Type (Raw)': <Buffer 05>,
'Sensor Type': 'Relative humidity (version 2)',
'Level (Raw)': <Buffer 01>,
Level: { Size: 1, Scale: 0, Precision: 0 },
'Sensor Value': <Buffer 3f>,
'Sensor Value (Parsed)': 63 },
'2': null }
2017-11-13 17:57:41 [log] [ManagerDrivers] [MH9-CO2] [0] node.CommandClass['COMMAND_CLASS_SENSOR_MULTILEVEL'].on('report') arguments: { '0': { value: 5, name: 'SENSOR_MULTILEVEL_REPORT' },
'1':
{ 'Sensor Type (Raw)': <Buffer 05>,
'Sensor Type': 'Relative humidity (version 2)',
'Level (Raw)': <Buffer 01>,
Level: { Size: 1, Scale: 0, Precision: 0 },
'Sensor Value': <Buffer 41>,
'Sensor Value (Parsed)': 65 },
'2': null }
2017-11-13 17:57:51 [log] [ManagerDrivers] [MH9-CO2] [0] node.CommandClass['COMMAND_CLASS_SENSOR_MULTILEVEL'].on('report') arguments: { '0': { value: 5, name: 'SENSOR_MULTILEVEL_REPORT' },
'1':
{ 'Sensor Type (Raw)': <Buffer 05>,
'Sensor Type': 'Relative humidity (version 2)',
'Level (Raw)': <Buffer 01>,
Level: { Size: 1, Scale: 0, Precision: 0 },
'Sensor Value': <Buffer 43>,
'Sensor Value (Parsed)': 67 },
'2': null }
2017-11-13 17:58:05 [log] [ManagerDrivers] [MH9-CO2] [0] node.CommandClass['COMMAND_CLASS_SENSOR_MULTILEVEL'].on('report') arguments: { '0': { value: 5, name: 'SENSOR_MULTILEVEL_REPORT' },
'1':
{ 'Sensor Type (Raw)': <Buffer 05>,
'Sensor Type': 'Relative humidity (version 2)',
'Level (Raw)': <Buffer 01>,
Level: { Size: 1, Scale: 0, Precision: 0 },
'Sensor Value': <Buffer 45>,
'Sensor Value (Parsed)': 69 },
'2': null }
2017-11-13 17:58:36 [log] [ManagerDrivers] [MH9-CO2] [0] node.CommandClass['COMMAND_CLASS_SENSOR_MULTILEVEL'].on('report') arguments: { '0': { value: 5, name: 'SENSOR_MULTILEVEL_REPORT' },
'1':
{ 'Sensor Type (Raw)': <Buffer 11>,
'Sensor Type': 'CO2-level (version 3)',
'Level (Raw)': <Buffer 02>,
Level: { Size: 2, Scale: 0, Precision: 0 },
'Sensor Value': <Buffer 27 10>,
'Sensor Value (Parsed)': 10000 },
'2': null }
2017-11-13 17:58:42 [log] [ManagerDrivers] [MH9-CO2] [0] node.CommandClass['COMMAND_CLASS_SENSOR_MULTILEVEL'].on('report') arguments: { '0': { value: 5, name: 'SENSOR_MULTILEVEL_REPORT' },
'1':
{ 'Sensor Type (Raw)': <Buffer 11>,
'Sensor Type': 'CO2-level (version 3)',
'Level (Raw)': <Buffer 02>,
Level: { Size: 2, Scale: 0, Precision: 0 },
'Sensor Value': <Buffer 07 d0>,
'Sensor Value (Parsed)': 2000 },
'2': null }
-------------------------------------------------
The display is also bouncing now between the value '2000' and '----'
if you like to switch the 4th switch of switch-2 (Node ID 14) with the second switch of switch-1, you should add 14.4 (subnode 4 of node 14) to association group 2 of switch-1
thank you for amazing work you are doing. Do you have any news regarding timeline for MH7 Electrical Heating thermostat support?
Thanks for your feedback!.
Realistic estimation? I hope to be able work on the MH7 and MH8 thermostats in the second half of December...
I've finally received a new MCO Home CO2 Sensor from China, it took a while...
Anyway, the bouncing between 2000 and 10000 PPM seems to be gone after a first test!
The only thing that doesn't seem to work is the CO2 Alarm. I've tried a lot of tests, but I can't trigger it anyway. Is it possible that within the app something therefor is missing?
the ID’s are mentioned in the device information...
go to Devices tab, select device, wrench symbol, take a screenshot of the device information and post it here along with the MCOHOME type number.
thanx