Simon 100 iO Universe Thermostat

Hi,

Relative new to Home Assistant so please bear with me.
I have installed components from Simon 100 iO in my appartment. That is dimmers and universe thermostats. The dimmers are working flawlessly, and I’m able to turn on/off, change the luminosity and get a reading of the wattage used.

The thermostats on the other hand…
I have four of these.
zwave.simon_unknown_type_000b_id_0000
zwave.simon_unknown_type_000b_id_0000
zwave.simon_unknown_type_000b_id_0000
zwave.simon_unknown_type_000b_id_0010

Yes, three of the units have the same ID. My dimmers all have different ID. Not sure if that matters though.
Thermostat with ID 0010 and one of the thermostats with ID 0000 have the following entities:
climate.simon_unknown_type_000b_id_0000/0010_mode
sensor.simon_unknown_type_000b_id_0000/0010_relative_humidity
sensor.simon_unknown_type_000b_id_0000/0010_temperature

The two other thermostats with ID 0000 only have the two sensor entities and not the climate entity.
I have checked the zwcfg file and all nodes have the same entities, even though they do not show up in HA.

The two thermostats that have all three enteties I have wokring relative humidity sensor that updates in real time, and I can power on/off, enter away mode, econ mode and heat mode.
What does not work is the temperature sensor. It shows a value but not the same as displayed on the thermostats.


Moving the temperatur bar does not do anything and nothing is even logged in the ozw-log.

If anyone have experience with these Simon 100 iO units and got them to work I would be grateful for any help. All help for that matter… :slight_smile:

Best regards Jon

A tiny update.
All thermostats are now visible in HA but I still have issues with getting the current temperature updated, and set a temperature.

I do see this in the log…

2020-04-05 11:38:21.929 Detail, Node014, Polling: COMMAND_CLASS_SENSOR_MULTILEVEL index = 1 instance = 1 (poll queue has 0 messages)
2020-04-05 11:38:21.930 Detail, Node014, Queuing (Poll) SensorMultilevelCmd_Get (Node=14): 0x01, 0x0a, 0x00, 0x13, 0x0e, 0x03, 0x31, 0x04, 0x01, 0x25, 0x7e, 0x84
2020-04-05 11:38:21.930 Detail, Node014, Queuing (Poll) SensorMultilevelCmd_Get (Node=14): 0x01, 0x0a, 0x00, 0x13, 0x0e, 0x03, 0x31, 0x04, 0x05, 0x25, 0x7f, 0x81
2020-04-05 11:38:21.930 Detail, 
2020-04-05 11:38:21.930 Info, Node014, Sending (Poll) message (Callback ID=0x7e, Expected Reply=0x04) - SensorMultilevelCmd_Get (Node=14): 0x01, 0x0a, 0x00, 0x13, 0x0e, 0x03, 0x31, 0x04, 0x01, 0x25, 0x7e, 0x84
2020-04-05 11:38:21.937 Detail, Node014,   Received: 0x01, 0x04, 0x01, 0x13, 0x01, 0xe8
2020-04-05 11:38:21.937 Detail, Node014,   ZW_SEND_DATA delivered to Z-Wave stack
2020-04-05 11:38:21.953 Detail, Node014,   Received: 0x01, 0x07, 0x00, 0x13, 0x7e, 0x00, 0x00, 0x03, 0x96
2020-04-05 11:38:21.953 Detail, Node014,   ZW_SEND_DATA Request with callback ID 0x7e received (expected 0x7e)
2020-04-05 11:38:21.953 Info, Node014, Request RTT 23 Average Request RTT 23
2020-04-05 11:38:21.953 Detail,   Expected callbackId was received
2020-04-05 11:38:31.931 Error, Node014, ERROR: Dropping command, expected response not received after 1 attempt(s)
2020-04-05 11:38:31.931 Detail, Node014, Removing current message
2020-04-05 11:38:31.931 Detail, Node014, Notification: Notification - TimeOut
2020-04-05 11:38:31.931 Detail, 
2020-04-05 11:38:31.931 Info, Node014, Sending (Poll) message (Callback ID=0x7f, Expected Reply=0x04) - SensorMultilevelCmd_Get (Node=14): 0x01, 0x0a, 0x00, 0x13, 0x0e, 0x03, 0x31, 0x04, 0x05, 0x25, 0x7f, 0x81
2020-04-05 11:38:31.939 Detail, Node014,   Received: 0x01, 0x04, 0x01, 0x13, 0x01, 0xe8
2020-04-05 11:38:31.939 Detail, Node014,   ZW_SEND_DATA delivered to Z-Wave stack
2020-04-05 11:38:31.955 Detail, Node014,   Received: 0x01, 0x07, 0x00, 0x13, 0x7f, 0x00, 0x00, 0x02, 0x96
2020-04-05 11:38:31.955 Detail, Node014,   ZW_SEND_DATA Request with callback ID 0x7f received (expected 0x7f)
2020-04-05 11:38:31.955 Info, Node014, Request RTT 23 Average Request RTT 23
2020-04-05 11:38:31.955 Detail,   Expected callbackId was received
2020-04-05 11:38:41.933 Error, Node014, ERROR: Dropping command, expected response not received after 1 attempt(s)
2020-04-05 11:38:41.933 Detail, Node014, Removing current message
2020-04-05 11:38:41.933 Detail, Node014, Notification: Notification - TimeOut
.
.
2020-04-05 12:29:18.013 Error, Node014, ERROR: Dropping command, expected response not received after 1 attempt(s)
2020-04-05 12:29:18.013 Detail, Node014, Removing current message
2020-04-05 12:29:18.013 Detail, Node014, Notification: Notification - TimeOut
2020-04-05 12:30:18.016 Detail, Node014, Polling: COMMAND_CLASS_SENSOR_MULTILEVEL index = 1 instance = 1 (poll queue has 0 messages)
                                                                                                                                                                                                                                                                              37
2020-04-05 12:30:18.016 Detail, Node014, Queuing (Poll) SensorMultilevelCmd_Get (Node=14): 0x01, 0x0a, 0x00, 0x13, 0x0e, 0x03, 0x31, 0x04, 0x01, 0x25, 0x85, 0x7f
2020-04-05 12:30:18.016 Detail, Node014, Queuing (Poll) SensorMultilevelCmd_Get (Node=14): 0x01, 0x0a, 0x00, 0x13, 0x0e, 0x03, 0x31, 0x04, 0x05, 0x25, 0x86, 0x78
2020-04-05 12:30:18.017 Detail, 
2020-04-05 12:30:18.017 Info, Node014, Sending (Poll) message (Callback ID=0x85, Expected Reply=0x04) - SensorMultilevelCmd_Get (Node=14): 0x01, 0x0a, 0x00, 0x13, 0x0e, 0x03, 0x31, 0x04, 0x01, 0x25, 0x85, 0x7f
2020-04-05 12:30:18.024 Detail, Node014,   Received: 0x01, 0x04, 0x01, 0x13, 0x01, 0xe8
2020-04-05 12:30:18.024 Detail, Node014,   ZW_SEND_DATA delivered to Z-Wave stack
2020-04-05 12:30:18.040 Detail, Node014,   Received: 0x01, 0x07, 0x00, 0x13, 0x85, 0x00, 0x00, 0x02, 0x6c
2020-04-05 12:30:18.040 Detail, Node014,   ZW_SEND_DATA Request with callback ID 0x85 received (expected 0x85)
2020-04-05 12:30:18.040 Info, Node014, Request RTT 23 Average Request RTT 23
2020-04-05 12:30:18.040 Detail,   Expected callbackId was received

but once every blue moon I see this

2020-04-05 11:39:11.660 Detail, Node014,   Received: 0x01, 0x0c, 0x00, 0x04, 0x00, 0x0e, 0x06, 0x31, 0x05, 0x01, 0x22, 0x00, 0xe5, 0x0d
2020-04-05 11:39:11.660 Detail, 
2020-04-05 11:39:11.660 Info, Node014, Received SensorMultiLevel report from node 14, instance 1, Temperature: value=22.9C
2020-04-05 11:39:11.660 Detail, Node014, Refreshed Value: old value=23.5, new value=22.9, type=decimal
2020-04-05 11:39:11.660 Detail, Node014, Changes to this value are not verified
2020-04-05 11:39:11.660 Detail, Node014, Notification: ValueChanged

I assume that the default settings for this unit in zwcfg is not correct for this unit.
Am I on the right track here?

Still working on this one… :slight_smile:

I’m told by the distributor of these units needs to be configured to send temperature at defined intervals.

This is what I’m told
Parametre 31, length 1, value 2 (will report based on time set in parametre 32)
Parametre 33, length 1, value 10-1000 (time in seconds between each report)
This is also written in the user manual I have attached below.


I assume that this has to be edited in zwcfg but I have no idea why and how.

	<Node id="13" name="" location="" basic="4" generic="8" specific="6" roletype="5" devicetype="4608" nodetype="0" type="General Thermostat V2" listening="true" frequentListening="false" beaming="true" routing="true" max_baud_rate="40000" version="4" query_stage="Complete">
		<Manufacturer id="267" name="Simon">
			<Product type="b" id="0" name="Unknown: type=000b, id=0000" />
		</Manufacturer>
		<CommandClasses>
			<CommandClass id="32" name="COMMAND_CLASS_BASIC" version="1" request_flags="4" mapping="64">
				<Instance index="1" />
			</CommandClass>
			<CommandClass id="49" name="COMMAND_CLASS_SENSOR_MULTILEVEL" version="5" innif="true">
				<Instance index="1" />
				<Value type="decimal" genre="user" instance="1" index="1" label="Temperature" units="C" read_only="true" write_only="false" verify_changes="false" poll_intensity="0" min="0" max="0" value="25.1" />
				<Value type="decimal" genre="user" instance="1" index="5" label="Relative Humidity" units="%" read_only="true" write_only="false" verify_changes="false" poll_intensity="0" min="0" max="0" value="27" />
			</CommandClass>
			<CommandClass id="64" name="COMMAND_CLASS_THERMOSTAT_MODE" version="2" innif="true">
				<Instance index="1" />
				<Value type="list" genre="user" instance="1" index="0" label="Mode" units="" read_only="false" write_only="false" verify_changes="false" poll_intensity="0" min="0" max="0" vindex="1" size="1">
					<Item label="Off" value="0" />
					<Item label="Heat" value="1" />
					<Item label="Heat Econ" value="11" />
					<Item label="Away" value="13" />
				</Value>
				<SupportedModes>
					<Mode index="0" label="Off" />
					<Mode index="1" label="Heat" />
					<Mode index="11" label="Heat Econ" />
					<Mode index="13" label="Away" />
				</SupportedModes>
			</CommandClass>
			<CommandClass id="66" name="COMMAND_CLASS_THERMOSTAT_OPERATING_STATE" version="1" request_flags="4" innif="true">
				<Instance index="1" />
				<Value type="string" genre="user" instance="1" index="0" label="Operating State" units="" read_only="true" write_only="false" verify_changes="false" poll_intensity="0" min="0" max="0" value="Idle" />
			</CommandClass>
			<CommandClass id="67" name="COMMAND_CLASS_THERMOSTAT_SETPOINT" version="2" request_flags="2" innif="true" base="1" typeInterpretation="B">
				<Instance index="1" />
				<Value type="decimal" genre="user" instance="1" index="2" label="Cooling 1" units="C" read_only="false" write_only="false" verify_changes="false" poll_intensity="0" min="0" max="0" value="0.0" />
				<Value type="decimal" genre="user" instance="1" index="8" label="Dry Air" units="C" read_only="false" write_only="false" verify_changes="false" poll_intensity="0" min="0" max="0" value="0.0" />
				<Value type="decimal" genre="user" instance="1" index="10" label="Auto Changeover" units="C" read_only="false" write_only="false" verify_changes="false" poll_intensity="0" min="0" max="0" value="0.0" />
			</CommandClass>
			<CommandClass id="90" name="COMMAND_CLASS_DEVICE_RESET_LOCALLY" version="1" request_flags="4" innif="true">
				<Instance index="1" />
			</CommandClass>
			<CommandClass id="94" name="COMMAND_CLASS_ZWAVEPLUS_INFO" version="1" request_flags="4" innif="true">
				<Instance index="1" />
				<Value type="byte" genre="system" instance="1" index="0" label="ZWave+ Version" units="" read_only="true" write_only="false" verify_changes="false" poll_intensity="0" min="0" max="255" value="1" />
				<Value type="short" genre="system" instance="1" index="1" label="InstallerIcon" units="" read_only="true" write_only="false" verify_changes="false" poll_intensity="0" min="-32768" max="32767" value="4608" />
				<Value type="short" genre="system" instance="1" index="2" label="UserIcon" units="" read_only="true" write_only="false" verify_changes="false" poll_intensity="0" min="-32768" max="32767" value="4608" />
			</CommandClass>
			<CommandClass id="112" name="COMMAND_CLASS_CONFIGURATION" version="1" request_flags="4" innif="true">
				<Instance index="1" />
			</CommandClass>
			<CommandClass id="114" name="COMMAND_CLASS_MANUFACTURER_SPECIFIC" version="1" request_flags="4" innif="true">
				<Instance index="1" />
			</CommandClass>
			<CommandClass id="115" name="COMMAND_CLASS_POWERLEVEL" version="1" request_flags="4" innif="true">
				<Instance index="1" />
				<Value type="list" genre="system" instance="1" index="0" label="Powerlevel" units="dB" read_only="false" write_only="false" verify_changes="false" poll_intensity="0" min="0" max="0" vindex="0" size="1">
					<Item label="Normal" value="0" />
					<Item label="-1dB" value="1" />
					<Item label="-2dB" value="2" />
					<Item label="-3dB" value="3" />
					<Item label="-4dB" value="4" />
					<Item label="-5dB" value="5" />
					<Item label="-6dB" value="6" />
					<Item label="-7dB" value="7" />
					<Item label="-8dB" value="8" />
					<Item label="-9dB" value="9" />
				</Value>
				<Value type="byte" genre="system" instance="1" index="1" label="Timeout" units="seconds" read_only="false" write_only="false" verify_changes="false" poll_intensity="0" min="0" max="255" value="0" />
				<Value type="button" genre="system" instance="1" index="2" label="Set Powerlevel" units="" read_only="false" write_only="true" verify_changes="false" poll_intensity="0" min="0" max="0" />
				<Value type="byte" genre="system" instance="1" index="3" label="Test Node" units="" read_only="false" write_only="false" verify_changes="false" poll_intensity="0" min="0" max="255" value="0" />
				<Value type="list" genre="system" instance="1" index="4" label="Test Powerlevel" units="dB" read_only="false" write_only="false" verify_changes="false" poll_intensity="0" min="0" max="0" vindex="0" size="1">
					<Item label="Normal" value="0" />
					<Item label="-1dB" value="1" />
					<Item label="-2dB" value="2" />
					<Item label="-3dB" value="3" />
					<Item label="-4dB" value="4" />
					<Item label="-5dB" value="5" />
					<Item label="-6dB" value="6" />
					<Item label="-7dB" value="7" />
					<Item label="-8dB" value="8" />
					<Item label="-9dB" value="9" />
				</Value>
				<Value type="short" genre="system" instance="1" index="5" label="Frame Count" units="" read_only="false" write_only="false" verify_changes="false" poll_intensity="0" min="-32768" max="32767" value="0" />
				<Value type="button" genre="system" instance="1" index="6" label="Test" units="" read_only="false" write_only="true" verify_changes="false" poll_intensity="0" min="0" max="0" />
				<Value type="button" genre="system" instance="1" index="7" label="Report" units="" read_only="false" write_only="true" verify_changes="false" poll_intensity="0" min="0" max="0" />
				<Value type="list" genre="system" instance="1" index="8" label="Test Status" units="" read_only="true" write_only="false" verify_changes="false" poll_intensity="0" min="0" max="0" vindex="0" size="1">
					<Item label="Failed" value="0" />
					<Item label="Success" value="1" />
					<Item label="In Progress" value="2" />
				</Value>
				<Value type="short" genre="system" instance="1" index="9" label="Acked Frames" units="" read_only="true" write_only="false" verify_changes="false" poll_intensity="0" min="-32768" max="32767" value="0" />
			</CommandClass>
			<CommandClass id="133" name="COMMAND_CLASS_ASSOCIATION" version="1" request_flags="4" innif="true">
				<Instance index="1" />
				<Associations num_groups="1">
					<Group index="1" max_associations="1" label="Group 1" auto="true">
						<Node id="1" />
					</Group>
				</Associations>
			</CommandClass>
			<CommandClass id="134" name="COMMAND_CLASS_VERSION" version="1" request_flags="4" innif="true">
				<Instance index="1" />
				<Value type="string" genre="system" instance="1" index="0" label="Library Version" units="" read_only="true" write_only="false" verify_changes="false" poll_intensity="0" min="0" max="0" value="3" />
				<Value type="string" genre="system" instance="1" index="1" label="Protocol Version" units="" read_only="true" write_only="false" verify_changes="false" poll_intensity="0" min="0" max="0" value="4.61" />
				<Value type="string" genre="system" instance="1" index="2" label="Application Version" units="" read_only="true" write_only="false" verify_changes="false" poll_intensity="0" min="0" max="0" value="4.09" />
			</CommandClass>
			<CommandClass id="139" name="COMMAND_CLASS_TIME_PARAMETERS" version="1" request_flags="4" innif="true">
				<Instance index="1" />
				<Value type="string" genre="system" instance="1" index="0" label="Date" units="" read_only="true" write_only="false" verify_changes="false" poll_intensity="0" min="0" max="0" value="07/04/0101" />
				<Value type="string" genre="system" instance="1" index="1" label="Time" units="" read_only="true" write_only="false" verify_changes="false" poll_intensity="0" min="0" max="0" value="17:18:41" />
				<Value type="button" genre="system" instance="1" index="2" label="Set Date/Time" units="" read_only="false" write_only="true" verify_changes="false" poll_intensity="0" min="0" max="0" />
				<Value type="button" genre="system" instance="1" index="3" label="Refresh Date/Time" units="" read_only="false" write_only="true" verify_changes="false" poll_intensity="0" min="0" max="0" />
			</CommandClass>
		</CommandClasses>
	</Node>

Am I still on the right track?

Best regards

I have added this;

			<CommandClass id="112" name="COMMAND_CLASS_CONFIGURATION" version="1" request_flags="4" innif="true">
				<Instance index="1" />
				<Value genre="config" index="31" label="Temp" max="3" min="0" size="1" type="byte" value="2">
                <Value genre="config" index="33" label="Time" max="1000" min="3" size="1" type="byte" value="30">				
			</CommandClass>

to each node. What happened when I started HA again was that all climate.simon_unknown_type_000b_id_0000/0010_mode entities were lost. Rebooting, thus loosing the config I manually added, got one climate entities back. I have edited the zwcfg again and I’m hoping that the climate entities are coming back.

Me again…

Got it to work.
Added

<Value genre="config" index="31" instance="1" label="Automatic reports" max="3" min="0" size="1" type="byte" value="2">
</Value>
<Value genre="config" index="33" instance="1" label="Time difference" max="1000" min="10" type="short" value="10">
</Value>
to <CommandClass id="112"...>.

Now if I only can get COMMAND_CLASS_THERMOSTAT_SETPOINT to work...

I also got setpoint to work… more or less.

<CommandClass id="67" name="COMMAND_CLASS_THERMOSTAT_SETPOINT" version="2" request_flags="2" innif="true" base="1" typeInterpretation="B">
  <Instance index="1" />
  <Value genre="user" index="1" instance="1" label="Heating" max="37" min="5" read_only="false" type="decimal" units="C" value="20" write_only="false"/>
  <Value genre="user" index="3" instance="1" label="Cooling" max="37" min="5" read_only="false" type="decimal" units="C" value="21" write_only="false"/>
  <Value genre="user" index="11" instance="1" label="Energy Heat" max="37" min="5" read_only="false" type="decimal" units="C" value="16" write_only="false"/>
</CommandClass>

Index 1 sets temperature in “manual mode”. Index 11 sets temperature i “auto mode”.
I’m missing the index for “away/vacation mode”. How do I go about finding that? Trial by error?

Dear Exxon,
I have installed simon 100 io pro hub with some dimmers for lights and motorized shutters.
If I´m not wrong, you have them integrated in home assistant. I´m just trying it.
Will I need a z-wave hub? Which one are you using?
Thanks in advance.