Vera Lite and Danfoss

Hi,
I am trying to use Danfoss in my Vera Lite.
But I am not sure how to do this…
I can change temperature in Vera and after that this is the new temp in Danfoss.
I can change on Danfoss and after that I can see the new temp in Vera…
But I can’t see the temp in the room - always the temp is 0…
And I have “Off” and “Heat”, but I can click on them. They are not active…

Is this ok?

Hi,
I have the same problem :frowning:
…someone has an idea or a solution?

Greeting Burkhard

No , you can not see the current temperature.

But than , would you want to ? Think about it; what would be the temperature near the thermostate/radiator versus the temperature on the other side of the room.

Better install a sensor somewhere a bit furter away from the radiator.

Cor

If you have a temp-sensor nearby you can have it shown in the Danfoss device. It is just a few lines of Lua which are somewhere in the wiki but I think the wiki is down at the moment.

Btw, I have a support-call at MCV for months now about this device because the device has a schedule that is configurable via Z-Wave. This cannot be used in Vera.

That is cool , if someone knows how to do that, that would be awesome!

Cor

Hi,
many thanks to you both your tip was great, now everything works fine. ;D

Best Regards Burkhard

@ Bufisch , can you explain how to get the temperature in the danfoss tile.

Thanks,

Cor

[quote=“Cor, post:7, topic:178103”]@ Bufisch , can you explain how to get the temperature in the danfoss tile.

Thanks,

Cor[/quote]
http://wiki.micasaverde.com/index.php/Danfoss_Thermostat_LC

Hi,
I inserted the code (Ouelle http://wiki.micasaverde.com/index.php/Danfoss_Thermostat_LC) in the Startup Lua, and changed my ID’s for my Danfoss.

local danfoss_devices = { { 35, '1_Fenster-Balkon' }, 
                          { 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 ] )
 end
-- list of { temperature_sensor_device_id, { list of Danfoss_LC_device_id } }
 
devices_to_synchronize = { { 27, { 35      } },    -- 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

sorry for my english, I’m from Germany.

Greetings Burkhard

Servuz Burkhard ,viele dank und kein Problem, (ich wohne in Oesterreich :slight_smile: )

That looks difficult :o , so this part is the code which takes the data from the sensor and insert it in the tile from danfoss:

[code]-- 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[/code]

If I understand correctly , this is the part I need to change:

{ { 167, { 218 } }, -- B { 162, { 221 } }, -- KiZ { 169, { 211 } }, -- SZ { 170, { 94, 107 } } } -- WZS, WZN

I have 1 danfoss in my living room , ID Device #138 and the ID for the temp sensor is Device #189

Is this than correct:

[code]-- list of { temperature_sensor_device_id, { list of Danfoss_LC_device_id } }

devices_to_synchronize = { { 138, { 189 } }, – Livingroom

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[/code]

And insert that in the Lua sartup?

Thanks,
Cor

Everything will be ok if we can make amend - my sensors are higher then usual and I need to show CurrentTemperature - 2 C…