Page 1 of 2
TellStick Znet Lite + Danfoss LC-13: Så här gjorde jag
Posted: Fri Mar 17, 2023 9:45 am
by PappaTi
Hej,
Jag tänkte dela med mig av min erfarenhet av Danfoss LC-13 termostat tillsammans med en Tellstick ZNet Lite V2. Jag ville schemalägga temperaturen: att den går ned på natten (18) och upp igen på morgonen (22). En funktion som tyvärr inte finns out-of-the-box.
1 Jag har skapat en Dummy device via Telldus Live som heter DummyLevel1 (resp DummyLevel2): en Telldus On/off självlearning switch. Vi har 2 våningar och vill styra dem separat
2 Jag kopplade ihop Danfoss och ZNet. Alla namn börjar med ElementLevel1 (resp ElementLevel2)
3 Gå på <Znet-ipadress>/lua och lägg till följande script: (resp Level2)
Code: Select all
- File: SetTempElementLevel1.lua
local deviceManager = require "telldus.DeviceManager"
local COMMAND_CLASS_THERMOSTAT_SETPOINT = 0x43
local SETPOINT_TYPE_HEATING = '1'
function onDeviceStateChanged(device, state, stateValue)
if device:name() ~= "DummyLevel1" then
return
end
if (device:state() == 1) then
print("DummyLevel1:on")
for index, device in python.enumerate(deviceManager:retrieveDevices()) do
if (string.find(device:name(),"ElementLevel1") ~= nil) then
print(device:name())
setDanfossTemperature(device, 18)
return
end
end
return
else
print("DummyLevel1:off")
for index, device in python.enumerate(deviceManager:retrieveDevices()) do
if (string.find(device:name(),"ElementLevel1") ~= nil) then
print(device:name())
setDanfossTemperature(device, 22)
return
end
end
return
end
end
function setDanfossTemperature(device, temperature)
if (device:typeString() ~= 'zwave') then
print("Device %s is not a Z-Wave device", device:name())
return
end
-- Get the raw zwave node
local zwaveNode = device:zwaveNode()
-- Extract the thermostat setpoint command class
local cmdClass = zwaveNode:cmdClass(COMMAND_CLASS_THERMOSTAT_SETPOINT)
if (cmdClass == nil) then
print("Device %s does not support THERMOSTAT_SETPOINT", device:name())
return
end
-- Set new value to be sent the next time the device is awake
cmdClass:setSetpoint(SETPOINT_TYPE_HEATING, temperature)
end
4 Lagga till en schema som tänder DummyLevel1 (resp DummyLevel2) kl 20:00 och släcker den kl 05:00
Återkom gärna med tankar och synpunkter! Kanske inte den snyggaste lösningen men jag har testat inatt och det funkade.
/PappaTi
Re: TellStick Znet Lite + Danfoss LC-13: Så här gjorde jag
Posted: Fri Mar 17, 2023 9:45 am
by Kalarne
Hej,
Har gjort en liknande lösning för att styra åtta LC13 som jag har i mitt fritidshus. Har skapat en dummydevice för resp termostatventil. Dummyn är av typen dimbar Nexa.
Jag kan då ställa elementen i fem lägen där jag valt det lägsta till 8C och det högsta till 21C. Via web eller app blir det på så sätt enkelt att ställa in värmen i huset några dagar innan vi åker dit.
Jag har använt ett prefix för alla termostaters namn och ett annat prefix för dummyenheterna.
Tänkte även pyssla ihop ett script som håller koll på batterinivån i termostaterna och larmar med en pushnotis när nivån börjar bli låg. Kanske koll en gång i veckan räcker.
/Arne
Re: TellStick Znet Lite + Danfoss LC-13: Så här gjorde jag
Posted: Fri Mar 17, 2023 9:45 am
by Slottet
Halloj
Gammal tråd men lyfter den igen.
Vad jag förstått det så går det inte by default göra schemalägga termostaterna?
Då jag inte är någon "datanörd" (ursäkta ordet) så kan jag noll om att bygg script osv.
Jag har tänkt mig tre termostater på övervåningen som jag skulle kunna vilja reglera temperaturerna på.
Känns ju rätt meningslöst att inte kunna det vi Tellsticken när dom ändå kan prata med varandra....
Hur bär man sig åt, i lite mer detaljerad nivå för att bygga schema likt det ni gjort?
Mvh
Novisa Slottet
Re: TellStick Znet Lite + Danfoss LC-13: Så här gjorde jag
Posted: Fri Mar 17, 2023 9:45 am
by Slottet
Ingen?
Re: TellStick Znet Lite + Danfoss LC-13: Så här gjorde jag
Posted: Fri Mar 17, 2023 9:45 am
by Kalarne
Hej,
Skall skicka min lösning till dig, men vill testa lite mer först.
Åker till mitt fritidshus idag och återkommer sedan.
Ser inga problem med att göra det du vill med Danfosstermostaterna. Sen kan ju funktionaliteten lösas på olika sätt.
/Kalarne
Re: TellStick Znet Lite + Danfoss LC-13: Så här gjorde jag
Posted: Fri Mar 17, 2023 9:45 am
by Slottet
Hej
Hur har det gått?
Mvh
Slottet
Re: TellStick Znet Lite + Danfoss LC-13: Så här gjorde jag
Posted: Fri Mar 17, 2023 9:45 am
by Kalarne
Har gått bra,
Postar mitt skript nedan. Telldus guide:
http://live.telldus.com/help/lua beskriver hur du installerar skriptet.
Du behöver inte ändra i skriptet här du lägger till fler termostater.
Jag har skapat dummy-enheter av typen Nexa Dimmer. En per termostat. Sen styr jag dessa från min Iphone. Skriptet startas varje gång en dummy ändras och ändrar då temperaturen på motsvarande Danfoss termostat. Om du kombinerar skriptet med Telldus Live kan du få den funktionalitet du önskar.
I skriptet finns fyra parametrar som du bör ändra. Se nedan.
Lösningen är liknande den som PappaTi gjort, men namnet på enheterna är inte hårdkodade och antalen termostater kan variera.
Code: Select all
-- File: DanfossLC13Control.lua
-- 2017-10-01
-----------------------------------------------------------------------------
-- Script for control of Danfoss LC-13 zwave thermostats.
-- Tellstick Znet has limited function for control of LC-13.
-- This lua script makes it possible to control LC-13 devices via dummy devices. Each
-- termostat should have a parallell dummy device. An on/off device or a dimmer that
-- could have several states. When the state for the dummy device is changed, this
-- lua script sets a new temperature for the corresponding LC-13.
--
-- The dummy device and the physical thermostat should have the same name, but different
-- prefix before the name. E.g. "RT-Kitchen" and "D-Kitchen". These prefixes should be
-- defined. See below.
--
-- The temperatures corresponding to "off" on an on/off dummy and to "min" on a dimmer
-- should also be defined. The same for the on/max temperature. See below.
--
-- The function setDanfossTemperature below is written by Telldus.
---------------------------------------------------------------------------
--------------------------Parameters that could be edited------------------
local PREFIX_DEVICE="DT-" -- Prefix for Danfoss LC-13 Thermostats
local PREFIX_DUMMY="RT-" -- Prefix for Dummy devices (On/Off or dimmers)
local HEATING_MIN=8 -- Temperature when heating is off/min
local HEATING_MAX=22 -- Temperature when heating is on/max
---------------------------------------------------------------------------
local deviceManager = require "telldus.DeviceManager"
local COMMAND_CLASS_THERMOSTAT_SETPOINT = 0x43
local SETPOINT_TYPE_HEATING = '1'
local PrefixLgd=string.len(PREFIX_DUMMY)
function onInit()
print("DanfossLC13 started %s ", os.date())
end
function onDeviceStateChanged(device, state, stateValue)
local temp, name, radDev
local PrefixLgd=string.len(PREFIX_DUMMY)
if (string.find( device:name(), PREFIX_DUMMY, 1) == 1 ) then
name = PREFIX_DEVICE .. string.sub(device:name(), PrefixLgd+1)
radDev = deviceManager:findByName(name)
if (device == nil) then
print("Illegal device name ")
return
end
if (state == 1 ) then
temp = HEATING_MAX
elseif (state == 16 ) then --state 16 means dimmer. stateValue is dim level.
temp = HEATING_MIN + math.floor((HEATING_MAX-HEATING_MIN) * stateValue/255)
elseif (state == 2 ) then
temp = HEATING_MIN
else
return
end
setDanfossTemperature(radDev, temp)
end
end
function setDanfossTemperature(dev, temperature)
if (dev:typeString() ~= "zwave") then
print("Device %s is not a Z-Wave device", dev:name())
return
end
-- Get the raw zwave node
local zwaveNode = dev:zwaveNode()
-- Extract the thermostat setpoint command class
local cmdClass = zwaveNode:cmdClass(COMMAND_CLASS_THERMOSTAT_SETPOINT)
if (cmdClass == nil) then
print("Device %s does not support THERMOSTAT_SETPOINT", dev:name())
return
end
-- Set new value to be sent the next time the device is awake
cmdClass:setSetpoint(SETPOINT_TYPE_HEATING, temperature)
print("New temp %s C set for Danfoss thermostat: %s, %s",temperature, dev:name(), os.date())
end
Hör av dig om du har frågor.
Maila på k.a.larsson"snabelA"telia"punkt"com
Re: TellStick Znet Lite + Danfoss LC-13: Så här gjorde jag
Posted: Fri Mar 17, 2023 9:45 am
by Slottet
Grymt!
Jag väntar på mina tre termostater skall komma hem.
Jag lär med största säkerhet höra av mig när det närmar sig installation.
Mvh
Slottet.
Re: TellStick Znet Lite + Danfoss LC-13: Så här gjorde jag
Posted: Fri Mar 17, 2023 9:45 am
by Lusse3
Hej
Jag har köpt en telldus znet lite v2 och danfoss lc13 samt en temperaturgivare. Jag försöker väl återskapa något liknande men är väldigt nybörjare när det gäller allt detta
Som jag förstod så kan är inte danfoss lc13 jätte kompatibelt med telldus. Lc13 kan ju trycka olika mycket på regleraren men jag förstår inte riktigt hur den ska veta vad som är vad. Alltså, tills lc13 förstår att "När jag har tryckt ner regleraren 64% blev det så här varmt i rummet"
Re: TellStick Znet Lite + Danfoss LC-13: Så här gjorde jag
Posted: Fri Mar 17, 2023 9:45 am
by Slottet
Lusse3 wrote:Hej
Jag har köpt en telldus znet lite v2 och danfoss lc13 samt en temperaturgivare. Jag försöker väl återskapa något liknande men är väldigt nybörjare när det gäller allt detta
Som jag förstod så kan är inte danfoss lc13 jätte kompatibelt med telldus. Lc13 kan ju trycka olika mycket på regleraren men jag förstår inte riktigt hur den ska veta vad som är vad. Alltså, tills lc13 förstår att "När jag har tryckt ner regleraren 64% blev det så här varmt i rummet"
Med skriptet som Kalarne gjort så kan du med en dummydimmer få temperaturen i fem olika steg. Själv kör jag bara en on/off dummy där jag ställer ned tempen 2grader på dagen mellan 9-15 i vissa rum.
Re: TellStick Znet Lite + Danfoss LC-13: Så här gjorde jag
Posted: Fri Mar 17, 2023 9:45 am
by Lusse3
kan danfoss lc13 vara en "dummydimmer"? jag är extremt nybörjare på det här så jag hänger inte riktigt med
Om jag kunde få lc13 att synas som en "switch" i home assistant så skulle jag kunna använda den som en av/på device, men den syns bara som sensor där.
Re: TellStick Znet Lite + Danfoss LC-13: Så här gjorde jag
Posted: Fri Mar 17, 2023 9:45 am
by Slottet
Lusse3 wrote:kan danfoss lc13 vara en "dummydimmer"? jag är extremt nybörjare på det här så jag hänger inte riktigt med
Om jag kunde få lc13 att synas som en "switch" i home assistant så skulle jag kunna använda den som en av/på device, men den syns bara som sensor där.
Nej men du måste ha en dummyenhet upplagd för att kunna styra/kommunicera med LC-13 vi t ex det skript som Kalarne gjort.
Mvh
Slottet
Re: TellStick Znet Lite + Danfoss LC-13: Så här gjorde jag
Posted: Fri Mar 17, 2023 9:45 am
by Lusse3
aha... ok! sorry för den dumma frågan, men.... hur exakt funkar det här? Köper jag bara typ en elbrytare och kopplar in nånstans i huset bara? hehe sorry men jag fattar inte
Re: TellStick Znet Lite + Danfoss LC-13: Så här gjorde jag
Posted: Fri Mar 17, 2023 9:45 am
by etompau
En "dummy-enhet" eller fiktiv enhet är en enhet som du lägger upp i Telldus Live men där du då inte har en fysisk mottagare.
Du manipulerar den fiktiva dimmer-enheten och det tidigare beskrivna LUA-scriptet överför sedan informationen och "nivå-inställningen" till din Z-wave-termostat.
Re: TellStick Znet Lite + Danfoss LC-13: Så här gjorde jag
Posted: Fri Mar 17, 2023 9:45 am
by Lusse3
aha! Tack snälla! Jag provar detta och ser om det lirar. Borde man kunna se danfossen åka fram och tillbaka när jag togglar dummy devicen?