Danfoss Thermostat LC
From MiOS
		
		
		
Information applies to Danfoss Living Connect firmware revision 2.06 (and 2.50?) only. Firmware revision 3.02 is not compatible with Z-Wave.
| Contents | 
HW revisions
| Part no. | Firmware | Z-Wave version | Capabilities | Z-Wave classes | extra menu options | Vera | MiOS | Photo | Issues | |
|---|---|---|---|---|---|---|---|---|---|---|
| 014G0009 | 1.06 | delay issueunreliable | ||||||||
| 014G0002, 014G0009 | 2.06 | 6,2,67,2,6 | 81,140,0,4,8,4,R,RS | 67,70,114,117,128,129,132:2,134,143,145, | No | V2 | 1.5.408 |       | ? | |
| 2.06 | Lite | 1.5.408 | no issues | |||||||
| 2.06 | 3 | 1.5.459 | no issues | |||||||
| 014G0012 | 2.50 | Lite | 1.5.408 | no issues | ||||||
| 014G0012 | 2.51 | 6,2,67,2,51 | 81,140,0,4,8,4,R,RS | 67,70,114,117,128,129,132:2,134,143, | 2 | 1.5.408 | photo | no issues | ||
| 014G0012 | 2.5.3 | Lite | 1.5.408 | no issues | ||||||
| 014G0002 | 3.02 | 0x72, 0x91 only(?) | not compatible | |||||||
| 014G0013 | 1.00 | 6,3,67,1,0 | 83,156,0,4,8,4,R,B,RS | 67,70,114,117,128,129,132:2,134,143 | No | 3 | 1.5.622 | under test | 
Checking the wakeup interval
local danfoss_devices = { { 221, 'KiZ' }, 
                          { 218, 'B'   },
                          { 211, 'SZ'  },
                          { 107, 'WZS' },
                          {  94, 'WZN' }  }
 
function log_wakeup( lul_device, lul_service, lul_variable, lul_value_old, lul_value_new )
 
 local s = ''
 
 for i = 1,#danfoss_devices
  do
 
   if danfoss_devices[ i ][ 1 ] == tonumber( lul_device ) 
    then
     s = danfoss_devices[ i ][ 2 ]
    end   
 
  end
 
 os.execute( 'logger -t Heizung Wakeup_' .. s )
 
end
 
 
for i = 1,#danfoss_devices
 do
  luup.variable_watch( 'log_wakeup', 'urn:micasaverde-com:serviceId:ZWaveDevice1', 'LastWakeup', danfoss_devices[ i ][ 1 ] )
 endSynchronizing the Danfoss GUI device with temperature sensors
... using a TFA 30.3133 temperature sensor (ironically, MiOS doesn't support decidegrees for Z-Wave temperature sensors).
-- list of { temperature_sensor_device_id, { list of Danfoss_LC_device_id } }
 
devices_to_synchronize = { { 167, { 218      } },    -- B
                           { 162, { 221      } },    -- KiZ
                           { 169, { 211      } },    -- SZ
                           { 170, {  94, 107 } }  }  -- WZS, WZN
 
 
function synchronize_temp( lul_device, lul_service, lul_variable, lul_value_old, lul_value_new )
 
 for i = 1,#devices_to_synchronize
  do
 
   if devices_to_synchronize[ i ][ 1 ] == tonumber( lul_device ) 
    then
 
     for j = 1,#devices_to_synchronize[ i ][ 2 ]
       do
        luup.variable_set( 'urn:upnp-org:serviceId:TemperatureSensor1', 'CurrentTemperature', lul_value_new, devices_to_synchronize[ i ][ 2 ][ j ] )
       end
 
    end
 
  end
 
end -- synchronize_temp
 
 
for i = 1,#devices_to_synchronize
 do
  luup.variable_watch( 'synchronize_temp', 'urn:upnp-org:serviceId:TemperatureSensor1', 'CurrentTemperature', devices_to_synchronize[ i ][ 1 ] )
 end
