NEWS
[Vorlage] Heizungsthermostatsteuerung 2.1 - Script
-
Gibt es eine Möglichkeit wenn alle Anwesend auser unserer Tochter automatisch ihren Raum abzusenken ohne die anderen zu beeinflu `
Hi,
du meinst automatisch ? Dazu muesste eine Anwesenheitsliste mit Räumen verknüpft sein.
Wäre denkbar, ist aber nicht programmiert.
Über den Kalender geht da schon eher was - aber nicht automatisiert sondern über Kalendereinträge.
vG Looxer `
Hallo Uwe,
nur so als Idee - ich habe das über die Profile gelöst.
Also habe ich für die entsprechenden Räume (Arbeitszimmer, Kinderzimmer, usw) ein Profil 2 angelegt und dort andere Temperaturen hinterlegt.
Jetzt prüfe ich über ein anderes Script die Anwesenheit der Personen - Wenn meine Frau oder ich zu Hause sind - dann hat das Arbeitszimmer Profil 1 - wenn wir nicht zu Hause sind das Profil 2.
Wenn unsere Tochter zu Hause ist dann hat das Kinderzimmer Profil 1 wenn nicht wird das Kinderzimmer auf Profil 2 geschaltet.
usw. usw.
Damit kann ich automatisch die Temperaturen schalten lassen auch wenn die Kids mal Frei haben oder einer von den Eltern Homeoffice macht.
Gruß
Dirk
-
Hi,
Gute Idee, mit was für einem Skript hast du das realisiert?
Danke
-
@UweS: kannst du das vis Problem bitte nochmal detaillieren/testen und ggf als bug bei vis im github melden. Wenn alles korrekt ist sollte nichts falsch angezeigt werden. Danke
-
Hi,
Ich möchte das Thema "manuelle Temperaturen" aufgreifen und transparenter machen.
Ausserdem wird es demnächst noch einen Fix dazu geben.
1. Funktionsweise
Es gibt zwei Quellen für manuelle Temperaturen. Erstens ein Thermostat und zweitens die VIS-View mit dem Feld "manuell gesetzte Soll Temperatur".
a. manuelle Verstellung am Thermostat
Jede geplante SollTemp Aenderung wird an einer zentralen Stelle im entsprechenden Datenpunkt abgespeichert. Gleichzeitig wird eine Kontrollspeicherung im Datenpunkg "Source_Last_Temp" vorgenommen. Dies ist der Vergleichswert. Wenn jetzt die aktuelle SollTemp im Datenpunkt vom Kontrollpunkt abweicht, dann muss es also eine Verstellung am Thermostat geben. Die Vorgehensweise funktioniert zuverlässig.
b. manuelle Verstellung in VIS
Wenn im VIS (mit dem mitgelieferten VIEW) eine Verstellung vorgenommen wird, dannn wird überprüft ob die aktuelle SollTemp vom Wert in VIS abweicht. Wenn dies der Fall ist, dann wird eine manuelle Verstellung angenommen. Auch dieses Verfahren funktioniert zuverlässig.
2. Spezialfall Absenktemperatur (Fenster offen)
Wenn ein Thermostat durch eine eigene Steuerung eine Absenktemperatur setzt (Fenster offen), dann ist das nach 1.a für das Thermostatscript zunächst mal eine manuell gesetzte Temperatur. Hier wird aber vorher noch übperüft, ob die manuelle Temperatur nicht der im Script definierten Absenktemperatur entspricht. Wenn dies der Fall ist, dann ignoriert das Programm diese Temperatur bis eine andere Temperatur vom Thermostat gemeldet wird.
Es ist also wichtig, dass alle Thermostate auf die im Script angegebene Absenktemperatur (standard = 12 Grad) in den Thermostaten identisch eingestellt sind. Es gibt sonst keine weitere Möglichkeit eine Absenkung bei Fenster offen zu erkennen.
Wenn das nicht gemacht wird, dann wird das Script immer wieder manuelle Temperaturen erkennen
3. Spezialfall Scriptstart
Bei Start des Scriptes läuft die gleiche Logik wie unter 1.a beschrieben ab. Hier können dann zwei Situationen auftreten, die zu manuellen Temperaturen führen können
a. Die augenblickliche SollTemp weicht von der der "Source_Last_Temp" ab (wie unter 1.a beschrieben) Dies ist der Fall, wenn das script erstmalig gestartet wird oder seit dem letzten Stop andere geplante SollTemperaturen vorliegen. (also wenn das Script längere Zeit nicht gelaufen ist oder zwischenzeitig ein Schedulewechsel erfolgte). In diesem Fall werden nicht gewünschte manuelle Temperturen gesetzt
b. Bei Stopp des Scriptes gab es bereits eine manuelle Temperatur mit Ablaufzeit. Allerdings erfolgt kein Trigger mit dem Ablauf der Ablaufzeit und die manuelle Temperatur bleibt bis zum nächsten Schedulewechsel bestehen. Auch dieser Fall ist offensichtlich nicht gewünscht.
Für den Fall 3 werde ich demnächst einen Fix posten.
Bezüglich VIS Einfluss auf die manuellen Temperaturen
Ich hatte mit Maik eine Session, um auch dem auf den Grund zu gehen, konnten aber keinen Einfluss feststellen.
Ich hoffe, dass das ein wenig mehr Klarheit bringt. Bei Beachtung von Punkt 2 und nach dem Fix sollten die meisten nicht erwarteten Quellen von manuellen Temperaturen sich erledigt haben.
vG Looxer
-
Hey,
` > Hi
quorle hat geschrieben:
Also ich schreibe noch einmal alles zusammen, um eine bessere Übersicht zu bekommen.
Danke, hatte irgendwie die Übersicht verloren.
Bitte Ersetze:
Code:
var HeizungGewerk = "heizung"; // diesem Gewerk muessen alle Thermostate zugeordnet sein.
var SensorGewerk = "verschluss"; // diesem Gewerk muessen alle Verschlusssensoren zugeordnet sein.
mit
Code:
var HeizungGewerk = "Heizung"; // diesem Gewerk muessen alle Thermostate zugeordnet sein.
var SensorGewerk = "Verschluss"; // diesem Gewerk muessen alle Verschlusssensoren zugeordnet sein.
Ich denke, dass das der Fehler ist.
vG Looxer `
Ich habe das einmal geändert, jedoch kann ich mit VIS immer noch nichts steuern. Egal welchen Haken ich setze ändert sich nichts.
Hier der Log aus dem Script:
! ````
14:31:34.571 [info] javascript.0 Start javascript script.js.common.Heizung.Heizplan.Schlafzimmer(1)
14:31:34.572 [info] javascript.0 script.js.common.Heizung.Heizplan.Schlafzimmer(1): getEnums(enumName=rooms) => [{"id":"enum.rooms.schlafzimmer","members":["hm-rpc.0.OEQ0705944","hm-rpc.0.OEQ1712335"],"name":"Schlafzimmer"},{"id":"enum.rooms.wohnzimmer","members":[],"name":"Wohnzimmer"},{"id":"enum.rooms.küche","members":[],"name":"Küche"},{"id":"enum.rooms.badezimmer","members":[],"name":"Badezimmer"},{"id":"enum.rooms.kind_1","members":[],"name":"Kind_1"},{"id":"enum.rooms.kind_2","members":[],"name":"Kind_2"}]
14:31:34.573 [info] javascript.0 script.js.common.Heizung.Heizplan.Schlafzimmer(1): Routine GetDevices Devices initialisiert
14:31:34.573 [info] javascript.0 script.js.common.Heizung.Heizplan.Schlafzimmer(1): setTimeout(ms=2000)
14:31:34.573 [info] javascript.0 script.js.common.Heizung.Heizplan.Schlafzimmer(1): registered 0 subscriptions and 0 schedules
14:31:36.582 [info] javascript.0 script.js.common.Heizung.Heizplan.Schlafzimmer(1): Heizungsscript verarbeitung benutzt Trigger und Events
14:31:36.583 [info] javascript.0 script.js.common.Heizung.Heizplan.Schlafzimmer(1): subscribe: {"pattern":{"id":"feiertage.0.heute.boolean","change":"ne"},"name":"script.js.common.Heizung.Heizplan.Schlafzimmer(1)"}
14:31:36.583 [info] javascript.0 script.js.common.Heizung.Heizplan.Schlafzimmer(1): subscribe: {"pattern":{"id":"javascript.0.Anwesenheitssteuerung.Userlist.JemandDa","change":"ne"},"name":"script.js.common.Heizung.Heizplan.Schlafzimmer(1)"}
14:31:36.583 [info] javascript.0 script.js.common.Heizung.Heizplan.Schlafzimmer(1): subscribe: {"pattern":{"id":"javascript.0.Heizung.Heizplan.GlobaleParameter.Heizperiode","change":"ne"},"name":"script.js.common.Heizung.Heizplan.Schlafzimmer(1)"}
14:31:36.584 [info] javascript.0 script.js.common.Heizung.Heizplan.Schlafzimmer(1): subscribe: {"pattern":{"id":"ical.0.events.Feiertag","change":"ne"},"name":"script.js.common.Heizung.Heizplan.Schlafzimmer(1)"}
14:31:36.584 [info] javascript.0 script.js.common.Heizung.Heizplan.Schlafzimmer(1): subscribe: {"pattern":{"id":{},"change":"ne"},"name":"script.js.common.Heizung.Heizplan.Schlafzimmer(1)"}
14:31:36.584 [warn] javascript.0 at setOwnState (script.js.common.Heizung.Heizplan.Schlafzimmer(1):482:5)
14:31:36.584 [warn] javascript.0 at LoopRooms (script.js.common.Heizung.Heizplan.Schlafzimmer(1):754:5)
14:31:36.584 [warn] javascript.0 at Object. (script.js.common.Heizung.Heizplan.Schlafzimmer(1):419:9)
14:31:36.585 [info] javascript.0 script.js.common.Heizung.Heizplan.Schlafzimmer(1): setTimeout(ms=10000) -
-
Hi,
Gute Idee, mit was für einem Skript hast du das realisiert?
Danke `
Hi,
Du hattes geschrieben: zu 2; habe ich jetzt über BT und Radar hinbekommen, An Abwesenheit funkt für alle Räume super.
Ich gehe mal davon aus, dass du somit weist welche Person im Haus ist.
Jetzt kannst Du auf den Status der einzelnen Anwesenheiten einen Trigger legen und entsprechend in den Räumen die Profile setzen.
Da ich nicht scripten kann habe ich es mit Blockly gemacht. Hier noch meines als Ideengeber.
Ein Bild spare ich mir da es etwas groß ist - ich habe noch extra Heizperioden für die Badezimmer und ein Profil 3 für den Sommer.
Zusätzlich habe ich noch Eltern-Anwesend und Kinder-Anwesend da ich die Badezimmer einzel schalten möchte.
Wenn keiner zu Hause ist nutze ich die Abwesenheitsabsenkung die in dem Script schon eingebaut ist.
! <xml 1999/xmlns="<URL url=" http:/www.w3.org/xhtml"="">http://www.w3.org/1999/xhtml">
! <block type="on_ext" id="E^XM5cv_JMZ#kBLhtQnY" x="-497" y="-478"><mutation items="7"></mutation>
! <field name="CONDITION">any</field>
! <field name="ACK_CONDITION">true</field>
! <value name="OID0"><shadow type="field_oid" id="e_7gKMCf8(@xpkEIWX^C"><field name="oid">javascript.0.V_Handy_Dirk</field></shadow></value>
! <value name="OID1"><shadow type="field_oid" id="IXe!~B{BS:Oa0.o^x;]U"><field name="oid">javascript.0.V_Handy_Susanne</field></shadow></value>
! <value name="OID2"><shadow type="field_oid" id="B#tNC73W[0~OOELo49G"><field name="oid">javascript.0.V_Handy_Lara</field></shadow></value>
! <value name="OID3"><shadow type="field_oid" id="Q4}DP4~)YRjE8eAbK9c"><field name="oid">javascript.0.V_Handy_Moritz</field></shadow></value> ! <value name="OID4"><shadow type="field_oid" id="xw:@Q~Pn(-zDoSk[DW=Q"><field name="oid">javascript.0.Anwesenheit</field></shadow></value> ! <value name="OID5"><shadow type="field_oid" id="p51Jn/3djkugQU^7I_/A"><field name="oid">javascript.0.Anwesenheit_Eltern</field></shadow></value> ! <value name="OID6"><shadow type="field_oid" id="31TQ|5-JK!4LyXe^(c
p"><field name="oid">javascript.0.Anwesenheit_Kinder</field></shadow></value>
! <statement name="STATEMENT"><block type="controls_if" id="(SZuALE(9ig)%Ckfpoo1"><mutation else="1"></mutation>
! <value name="IF0"><block type="logic_compare" id="=wb)euf@9hlIalj%y9"><field name="OP">EQ</field> ! <value name="A"><block type="get_value" id="xA2N(
P@(6,bU3:](;p"><field name="ATTR">val</field> ! <field name="OID">javascript.0.Heizung.V_Heizperiode_Bad</field></block></value> ! <value name="B"><block type="logic_boolean" id="@w
|Nj5uy%P+_rLP1n03"><field name="BOOL">TRUE</field></block></value></block></value>
! <statement name="DO0"><block type="controls_if" id=";~JcG?BOYslAeAmZBmbU"><mutation else="1"></mutation>
! <value name="IF0"><block type="logic_compare" id="IV~DAKI}XA{}4re=nw1"><field name="OP">EQ</field>
! <value name="A"><block type="get_value" id="g,8QxCI]4+MN48|^U4,8"><field name="ATTR">val</field>
! <field name="OID">javascript.0.Anwesenheit_Kinder</field></block></value>
! <value name="B"><block type="logic_boolean" id=")0k_S0t5j|6i5zFSI2s"><field name="BOOL">TRUE</field></block></value></block></value>
! <statement name="DO0"><block type="comment" id=".dIv|!IJnh!)eXh)b8SJ"><field name="COMMENT">Kinderbad Wand</field>
! <next><block type="control" id="[eDf2q}~NrNh4vFc@z0"><mutation delay_input="false"></mutation>
! <field name="OID">javascript.0.Heizung.Heizplan.KinderbadW.AktivesRaumProfil</field>
! <field name="WITH_DELAY">FALSE</field>
! <value name="VALUE"><block type="math_number" id="i0,)ZPlq@{htReG:YbbB"><field name="NUM">1</field></block></value>
! <next><block type="comment" id="swdZ6)e|Y#uW+BAsBtY"><field name="COMMENT">Kinderbad Boden</field>
! <next><block type="control" id="YjNu|Vs-?27;LTQSsCC;"><mutation delay_input="false"></mutation>
! <field name="OID">javascript.0.Heizung.Heizplan.Kinderbad.AktivesRaumProfil</field>
! <field name="WITH_DELAY">FALSE</field>
! <value name="VALUE"><block type="math_number" id="}}IP@,W]O7yj8d?%3H%F"><field name="NUM">1</field></block></value></block></next></block></next></block></next></block></statement>
! <statement name="ELSE"><block type="comment" id="N0(v{A+WHl7DjL^)R{H."><field name="COMMENT">Kinderbad Wand</field>
! <next><block type="control" id="Mw]0Mz3erW5nE[S8!GC"><mutation delay_input="false"></mutation>
! <field name="OID">javascript.0.Heizung.Heizplan.KinderbadW.AktivesRaumProfil</field>
! <field name="WITH_DELAY">FALSE</field>
! <value name="VALUE"><block type="math_number" id="xw,eVb8~!XNqdp/wK)
"><field name="NUM">2</field></block></value>
! <next><block type="comment" id="?mpy)YRr.oh9acHb6[X"><field name="COMMENT">Kinderbad Boden</field> ! <next><block type="control" id=".EGRj^/n*wNWEywcQ03d"><mutation delay_input="false"></mutation> ! <field name="OID">javascript.0.Heizung.Heizplan.Kinderbad.AktivesRaumProfil</field> ! <field name="WITH_DELAY">FALSE</field> ! <value name="VALUE"><block type="math_number" id="za]-57Ty,!RqZzM6qDj|"><field name="NUM">2</field></block></value></block></next></block></next></block></next></block></statement> ! <next><block type="controls_if" id="X*phzX}_YGN3]/z%?qA="><mutation else="1"></mutation> ! <value name="IF0"><block type="logic_compare" id="-gn+e#epm4-H4:G@#SY-"><field name="OP">EQ</field> ! <value name="A"><block type="get_value" id="zMGl)v?MI~ws,7:/PTtJ"><field name="ATTR">val</field> ! <field name="OID">javascript.0.Anwesenheit_Eltern</field></block></value> ! <value name="B"><block type="logic_boolean" id="ZAPO(UdF|M}y^U?eeX9b"><field name="BOOL">TRUE</field></block></value></block></value> ! <statement name="DO0"><block type="comment" id="vbOak!.p:NpmEtfF3C*5"><field name="COMMENT">Elternbad Wand</field> ! <next><block type="control" id="VAGDLfxQ:hah{.cJ-X7*"><mutation delay_input="false"></mutation> ! <field name="OID">javascript.0.Heizung.Heizplan.ElternbadW.AktivesRaumProfil</field> ! <field name="WITH_DELAY">FALSE</field> ! <value name="VALUE"><block type="math_number" id="07~(p^=j?Ka
oJ]g+zn"><field name="NUM">1</field></block></value>
! <next><block type="comment" id="cpG:;;F[[(T15fvsr_C"><field name="COMMENT">Elternbad Boden</field>
! <next><block type="control" id="rRWS.-L.ul(Fg[8MEzH2"><mutation delay_input="false"></mutation>
! <field name="OID">javascript.0.Heizung.Heizplan.Elternbad.AktivesRaumProfil</field>
! <field name="WITH_DELAY">FALSE</field>
! <value name="VALUE"><block type="math_number" id="^t2EjX]D}~Zjt]!s1Myg"><field name="NUM">1</field></block></value></block></next></block></next></block></next></block></statement>
! <statement name="ELSE"><block type="comment" id="6BL!|7j}xpi1TW%}wTf"><field name="COMMENT">Elternbad Wand</field>
! <next><block type="control" id="=N+tZk]Z}jcvi~H}##]Z"><mutation delay_input="false"></mutation>
! <field name="OID">javascript.0.Heizung.Heizplan.ElternbadW.AktivesRaumProfil</field>
! <field name="WITH_DELAY">FALSE</field>
! <value name="VALUE"><block type="math_number" id="@zUcmWG/bA;d3y?(dAG"><field name="NUM">2</field></block></value>
! <next><block type="comment" id="uWiRIh-zIkM4c3e(~}oQ"><field name="COMMENT">Elternbad Boden</field>
! <next><block type="control" id="QRAr20?m,y084c2|K}-V"><mutation delay_input="false"></mutation>
! <field name="OID">javascript.0.Heizung.Heizplan.Elternbad.AktivesRaumProfil</field>
! <field name="WITH_DELAY">FALSE</field>
! <value name="VALUE"><block type="math_number" id="07XyF]J6M];A~jJ~j^)"><field name="NUM">2</field></block></value></block></next></block></next></block></next></block></statement></block></next></block></statement> ! <statement name="ELSE"><block type="comment" id="-~JM2P@-*/FwD8N=U;La"><field name="COMMENT">Kinderbad Wand</field> ! <next><block type="control" id="g)v7ZMOW%Q|=Afbpk}ke"><mutation delay_input="false"></mutation> ! <field name="OID">javascript.0.Heizung.Heizplan.KinderbadW.AktivesRaumProfil</field> ! <field name="WITH_DELAY">FALSE</field> ! <value name="VALUE"><block type="math_number" id="g1%I0b}r;Ix1b)@Wt
]L"><field name="NUM">3</field></block></value>
! <next><block type="comment" id="alaK)]u?p0b?kF!oXd0B"><field name="COMMENT">Kinderbad Boden</field>
! <next><block type="control" id="W}b}8k-w(5.nwPAw=fn9"><mutation delay_input="false"></mutation>
! <field name="OID">javascript.0.Heizung.Heizplan.Kinderbad.AktivesRaumProfil</field>
! <field name="WITH_DELAY">FALSE</field>
! <value name="VALUE"><block type="math_number" id="qfr=LEE7Y/BNau!Jg;Y"><field name="NUM">3</field></block></value>
! <next><block type="comment" id="y^W.+IgiDbL6w8@TzX/:"><field name="COMMENT">Elternbad Wand</field>
! <next><block type="control" id="kzx/btwtCDSa/TH,j5zQ"><mutation delay_input="false"></mutation>
! <field name="OID">javascript.0.Heizung.Heizplan.ElternbadW.AktivesRaumProfil</field>
! <field name="WITH_DELAY">FALSE</field>
! <value name="VALUE"><block type="math_number" id="^g~-V+~SNc%+XTt0:3R."><field name="NUM">3</field></block></value>
! <next><block type="comment" id="cMXuI:5.h^Tiba.ixdZ"><field name="COMMENT">Elternbad Boden</field>
! <next><block type="control" id="}fa+aFLMvTk7uM{8Vpuu"><mutation delay_input="false"></mutation>
! <field name="OID">javascript.0.Heizung.Heizplan.Elternbad.AktivesRaumProfil</field>
! <field name="WITH_DELAY">FALSE</field>
! <value name="VALUE"><block type="math_number" id="fp/YRlca#Pt=icZ7Q
G"><field name="NUM">3</field></block></value></block></next></block></next></block></next></block></next></block></next></block></next></block></next></block></statement>
! <next><block type="controls_if" id="Rms-KjnO:fxd.NPKf4W["><mutation else="1"></mutation>
! <value name="IF0"><block type="logic_compare" id=";jyHySF#p)6Wz,0Zj5"><field name="OP">EQ</field>
! <value name="A"><block type="get_value" id="Us@(JbT-jEZ@BqHg{8}y"><field name="ATTR">val</field>
! <field name="OID">javascript.0.Heizung.V_Heizperiode</field></block></value>
! <value name="B"><block type="logic_boolean" id="5E,j2;CXMAcAf7qXH!im"><field name="BOOL">TRUE</field></block></value></block></value>
! <statement name="DO0"><block type="controls_if" id=",+?yWF)*:xTuEQ213,c"><mutation else="1"></mutation>
! <value name="IF0"><block type="logic_compare" id="[fs1C8mBCMjVjqH~XYz"><field name="OP">EQ</field> ! <value name="A"><block type="get_value" id="g}BW3+PR:zzIIn/Rro!{"><field name="ATTR">val</field> ! <field name="OID">javascript.0.V_Handy_Lara</field></block></value> ! <value name="B"><block type="logic_boolean" id="hgJp*4_-8sR:(/%
ZuT"><field name="BOOL">TRUE</field></block></value></block></value>
! <statement name="DO0"><block type="comment" id="njIzQ}g%NSjb{4X@9.6U"><field name="COMMENT">Lara Zimmer</field>
! <next><block type="control" id="=TNQ!v@9h62t?l|~nuiY"><mutation delay_input="false"></mutation>
! <field name="OID">javascript.0.Heizung.Heizplan.Lara.AktivesRaumProfil</field>
! <field name="WITH_DELAY">FALSE</field>
! <value name="VALUE"><block type="math_number" id="lnune-~Sp[}w;|BhxCwI"><field name="NUM">1</field></block></value></block></next></block></statement>
! <statement name="ELSE"><block type="comment" id="(Y~(apiET.j[@^;2)H#"><field name="COMMENT">Lara Zimmer</field> ! <next><block type="control" id="05~}Z]vbkk@,A,mu,l/i"><mutation delay_input="false"></mutation> ! <field name="OID">javascript.0.Heizung.Heizplan.Lara.AktivesRaumProfil</field> ! <field name="WITH_DELAY">FALSE</field> ! <value name="VALUE"><block type="math_number" id="tGk./Jjp-VbVo,y1MLt-"><field name="NUM">2</field></block></value></block></next></block></statement> ! <next><block type="controls_if" id="YC+08J]L.tigJPEQyJhY"><mutation else="1"></mutation> ! <value name="IF0"><block type="logic_compare" id="YFg+q;*OV}cW6*mtJKx@"><field name="OP">EQ</field> ! <value name="A"><block type="get_value" id="1z7ZnEHk?M*FH@+pqJeq"><field name="ATTR">val</field> ! <field name="OID">javascript.0.V_Handy_Moritz</field></block></value> ! <value name="B"><block type="logic_boolean" id="G?1ml.g+)T7,.k.8lhmO"><field name="BOOL">TRUE</field></block></value></block></value> ! <statement name="DO0"><block type="comment" id="*TL
=b0RTrr.2~xj%FE?"><field name="COMMENT">Moritz Zimmer</field>
! <next><block type="control" id=")^|(3J3h9z[hK=UyF%Sn"><mutation delay_input="false"></mutation>
! <field name="OID">javascript.0.Heizung.Heizplan.Moritz.AktivesRaumProfil</field>
! <field name="WITH_DELAY">FALSE</field>
! <value name="VALUE"><block type="math_number" id="GBp2[5Ii~Z0B!v-aw!@4"><field name="NUM">1</field></block></value></block></next></block></statement>
! <statement name="ELSE"><block type="comment" id="%v_gE;FGX[fa:}09^e)d"><field name="COMMENT">Moritz Zimmer</field>
! <next><block type="control" id="2nESNpNY8pgP|A5ofBd4"><mutation delay_input="false"></mutation>
! <field name="OID">javascript.0.Heizung.Heizplan.Moritz.AktivesRaumProfil</field>
! <field name="WITH_DELAY">FALSE</field>
! <value name="VALUE"><block type="math_number" id="WJ-8xxzzVLRA_MZ,-4qQ"><field name="NUM">2</field></block></value></block></next></block></statement>
! <next><block type="controls_if" id="p3LPXW-GD=W5j}[UjuF7"><mutation else="1"></mutation>
! <value name="IF0"><block type="logic_compare" id="m655Y)%ipp%oBfuvPMK"><field name="OP">EQ</field> ! <value name="A"><block type="get_value" id="jlz.w({3At?qMah8T6s0"><field name="ATTR">val</field> ! <field name="OID">javascript.0.Anwesenheit_Eltern</field></block></value> ! <value name="B"><block type="logic_boolean" id="Eb;=pnk:*GJv2a%6YhKy"><field name="BOOL">TRUE</field></block></value></block></value> ! <statement name="DO0"><block type="comment" id="3mTk}jz^]
8VY08g7,p"><field name="COMMENT">Arbeitszimmer</field> ! <next><block type="control" id="xt:jL^!M,6LMwfK.Dvjv"><mutation delay_input="false"></mutation> ! <field name="OID">javascript.0.Heizung.Heizplan.Arbeitszimmer.AktivesRaumProfil</field> ! <field name="WITH_DELAY">FALSE</field> ! <value name="VALUE"><block type="math_number" id="9=r|9/L(oYXc/]0B=h}1"><field name="NUM">1</field></block></value> ! <next><block type="comment" id="m
td3Zja(!O{#Vp;XWQ"><field name="COMMENT">Schlafzimmer</field>
! <next><block type="control" id="nix;~MvMNI8ms3|0{rd"><mutation delay_input="false"></mutation> ! <field name="OID">javascript.0.Heizung.Heizplan.Schlafzimmer.AktivesRaumProfil</field> ! <field name="WITH_DELAY">FALSE</field> ! <value name="VALUE"><block type="math_number" id="(*{ed_2i:*T46qB^o7]M"><field name="NUM">1</field></block></value></block></next></block></next></block></next></block></statement> ! <statement name="ELSE"><block type="comment" id="oyRVb[/S/HjF*Q0jDHMd"><field name="COMMENT">Arbeitszimmer</field> ! <next><block type="control" id="4-L{/eXTR6W7f[m140rL"><mutation delay_input="false"></mutation> ! <field name="OID">javascript.0.Heizung.Heizplan.Arbeitszimmer.AktivesRaumProfil</field> ! <field name="WITH_DELAY">FALSE</field> ! <value name="VALUE"><block type="math_number" id="8LT]X^+)ZLW9dDC-sPUx"><field name="NUM">2</field></block></value> ! <next><block type="comment" id="asLN)9)hkVo1Fv^v[1|H"><field name="COMMENT">Schlafzimmer</field> ! <next><block type="control" id="eA-{QD5N?n!%y}XBX8.)"><mutation delay_input="false"></mutation> ! <field name="OID">javascript.0.Heizung.Heizplan.Schlafzimmer.AktivesRaumProfil</field> ! <field name="WITH_DELAY">FALSE</field> ! <value name="VALUE"><block type="math_number" id="ky^kRvD,ZFcK)Yg@{Z:o"><field name="NUM">2</field></block></value></block></next></block></next></block></next></block></statement> ! <next><block type="controls_if" id="O1i=^*qva%AW%k?pG2g4"><mutation else="1"></mutation> ! <value name="IF0"><block type="logic_compare" id="~J+~{,2306~E|s^C[dI]"><field name="OP">EQ</field> ! <value name="A"><block type="get_value" id="8XKGBlD5E(Rjq*RSVp_E"><field name="ATTR">val</field> ! <field name="OID">javascript.0.Anwesenheit</field></block></value> ! <value name="B"><block type="logic_boolean" id="2=MFx}OU5)7776MM–%~"><field name="BOOL">TRUE</field></block></value></block></value> ! <statement name="DO0"><block type="comment" id="Jf29gv6
pO1Y(!.7?)f"><field name="COMMENT">Wohnzimmer</field>
! <next><block type="comment" id="8hcj58RwylziHgu9H;"><field name="COMMENT">Flur</field> ! <next><block type="comment" id="CES+;R%()NDCgJlR.M/T"><field name="COMMENT">KEINE Einstellung nötig</field></block></next></block></next></block></statement> ! <statement name="ELSE"><block type="comment" id=",SdWfED{Zuj*)@b,tm]a"><field name="COMMENT">Wohnzimmer</field> ! <next><block type="comment" id="]KcYp5#cO=7UMLboCZw5"><field name="COMMENT">Flur</field> ! <next><block type="comment" id="Opw5iKgv%/9FB]%w2/To"><field name="COMMENT">KEINE Einstellung nötig</field></block></next></block></next></block></statement></block></next></block></next></block></next></block></statement> ! <statement name="ELSE"><block type="comment" id="Ajpua?=)X[iom0uVi.]m"><field name="COMMENT">Arbeitszimmer</field> ! <next><block type="control" id="}WdvY_
8]#2^?:gY3!%x"><mutation delay_input="false"></mutation>
! <field name="OID">javascript.0.Heizung.Heizplan.Arbeitszimmer.AktivesRaumProfil</field>
! <field name="WITH_DELAY">FALSE</field>
! <value name="VALUE"><block type="math_number" id="eN#N/4Koq%LBKMa,7y"><field name="NUM">3</field></block></value>
! <next><block type="comment" id="~nmeS=o^qeb:H_Xt/w/j"><field name="COMMENT">Lara Zimmer</field>
! <next><block type="control" id="#!w|Av+A_fpDK)c]X3cr"><mutation delay_input="false"></mutation>
! <field name="OID">javascript.0.Heizung.Heizplan.Lara.AktivesRaumProfil</field>
! <field name="WITH_DELAY">FALSE</field>
! <value name="VALUE"><block type="math_number" id="ei-pwtHv0fQ(U:7aFr+"><field name="NUM">3</field></block></value>
! <next><block type="comment" id="ZgA;0dMJn;k0KjAX7^)"><field name="COMMENT">Moritz Zimmer</field>
! <next><block type="control" id="H8,hzSTV7fW#jJA5d5)v"><mutation delay_input="false"></mutation>
! <field name="OID">javascript.0.Heizung.Heizplan.Moritz.AktivesRaumProfil</field>
! <field name="WITH_DELAY">FALSE</field>
! <value name="VALUE"><block type="math_number" id=")+xyH~}C:uYV(S)~%O}"><field name="NUM">3</field></block></value> ! <next><block type="comment" id=")fMm0CI,1
J(UW+,P[H"><field name="COMMENT">Schlafzimmer</field>
! <next><block type="control" id="di=y+LVO*+^.3lCGXSC"><mutation delay_input="false"></mutation>
! <field name="OID">javascript.0.Heizung.Heizplan.Schlafzimmer.AktivesRaumProfil</field>
! <field name="WITH_DELAY">FALSE</field>
! <value name="VALUE"><block type="math_number" id="dk^vRt6Tf)tr{b5@DXSQ"><field name="NUM">3</field></block></value>
! <next><block type="comment" id="t1.hVf=O@C6LEKPQhX_U"><field name="COMMENT">Wohnzimmer</field>
! <next><block type="control" id="#O{QFZs2kwD1KrXy~3c"><mutation delay_input="false"></mutation>
! <field name="OID">javascript.0.Heizung.Heizplan.Wohnzimmer.AktivesRaumProfil</field>
! <field name="WITH_DELAY">FALSE</field>
! <value name="VALUE"><block type="math_number" id="07C~z]-TBPw_AWRht];"><field name="NUM">3</field></block></value>
! <next><block type="comment" id="~BkE(]ok7ORvb;8):)6B"><field name="COMMENT">Flur</field>
! <next><block type="control" id="oL5cp|Ub2HLUPBi~Toq0"><mutation delay_input="false"></mutation>
! <field name="OID">javascript.0.Heizung.Heizplan.Flur_unten.AktivesRaumProfil</field>
! <field name="WITH_DELAY">FALSE</field>
! <value name="VALUE"><block type="math_number" id="M[XyN-NyDvaT|?(?eXkR"><field name="NUM">3</field></block></value></block></next></block></next></block></next></block></next></block></next></block></next></block></next></block></next></block></next></block></next></block></next></block></statement></block></next></block></statement></block></xml>Gruß
Dirk
-
Hier der Log aus dem Script: `
Hab dir eine PN gesendet.vG Looxer `
Hallo zusammen,
konntet ihr die Probleme schon gemeinsam lösen?
Ich bekomme das Script leider auch noch nicht zum laufen.
Meine Konstellation ist der von quorle ziemlich ähnlich. Ich habe einen RPI3 mit hmcom und musste dementsprechend die Gewerke und Räume manuell anlegen und zuordnen.
Gruß pulv
-
konntet ihr die Probleme schon gemeinsam lösen? `
Hi,nein, noch nicht. Ich möchte mir das im System ansehen.
Kannst du aber auch bei dir.
Es gibt 4 Kriterien für die Selektion:
1. Function = Gewerk
2. room = Raumname
3. GerätePfad (Adapter) und Instance z.B. für CCU = hm-rpc.0
4. Gerätetype = native.TYPE
-
Gewerk und Räume werden über die Aufzählungen eingestellt
-
Gerätepfad wird einfach in der ThermostatTypeTab je Gerät eingestellt
-
GeräteTyp könnte ein Problem sein.
Bitte schau in die Objektliste und markiere das Gerät auf Ebene der Geräte-ID.
Dann ganz rechts auf das Icon für "aendern" gehen und auf "Experteneinstellungen" oder so ähnlich gehen.
Dort gibt es bei Verwendung von hm-rpc eine Definition (JSON) unter native und type.
Der Gerätetyp ist dort eingetragen. Davon mache ich einige Steuerungen abhängig, weil die Geräte eben unterschiedlich reagieren.
Wenn du das nicht findest, dann werden die Geräte im Moment nicht automatisch eingelesen.
Dann bleibt aber immer noch die Einstellung über die NichtHM Geräte Tabelle. Ist allerdings etwas mühsamer, da ja jedes Gerät eingetragen werden muss. Einige Funktionen sind im Moment auch dann nicht möglich. (Modus Umschaltung und Delay für alte Thermostate)
vG Looxer
-
-
Ich exportier dir gleich die Daten.
hier der View für Selina
! Selina2.JPG `
Hi,
ich klinke mich mal kurz ein weil ich hatte einen ähnlichen Fehler.
Ich hatte VIS 1.1.1 installiert und ab dem dritten View hat er mir auch ab und zu den Wert auf irgendeinem Thermostat überschrieben.
Jetzt habe ich wieder 1.0.4 und das Problem hat sich erledigt, dafür schaut der View wieder etwas komisch aus.
Als Laie kann ich dir etwaige Hintergründe nicht erklären, aber vielleicht hilft es .
LG `
Hallo Uwe,
hmm Loxxer01 und ich haben es sich bei mir angeschaut… nach dem ich die Zeit für die Manuelle temperatur auf 15min runtergenommen hatte, ging es eine weile ohne unkontrollierte änderungen.
Jetzt habe ich aber wieder die situation das es wieder häufiger vorkommt.
Ich glaub das hängt ganz stark damit zusammen wenn vom Thermostat nur 0 geschickt wird.
Ich starte gerade meinen CUBE durch und starte den Adapter neu. mal sehen ob es sich dann beruhigt wieder.
Gruss
Maik
-
Ich habe nach der Doku alle Schritte durchgeführt. Leider bekomme ich folgenden Fehler:
javascript.0 2018-01-23 20:55:24.557errorTypeError: Cannot read property 'common' of undefined javascript.0 2018-01-23 20:55:24.557error^ javascript.0 2018-01-23 20:55:24.556errormembers: (objects[enums[i]].common) ? objects[enums[i]].common.members : [], javascript.0 2018-01-23 20:55:24.556errorscript.js.common.Heizungssteuerung: /opt/iobroker/node_modules/iobroker.javascript/javascript.js:2207
Gesendet von meinem SM-G955F mit Tapatalk
-
Hallo,
gibt es die Möglichkeit nicht HM Raumthermostate einzusetzen ?
Ich messe im Wohnzimmer die Temperatur mit Xiaomi Sensoren und würde diese gern als IST Temp nehmen da die Temp am Heizkörperthermostat immer zu hoch angezeigt wird da Wärmestau.
Und wenn ja , wie und wo muss ich das angeben?
MfG
Sven
-
Ich habe nach der Doku alle Schritte durchgeführt. Leider bekomme ich folgenden Fehler:
javascript.0 2018-01-23 20:55:24.557errorTypeError: Cannot read property 'common' of undefined javascript.0 2018-01-23 20:55:24.557error^ javascript.0 2018-01-23 20:55:24.556errormembers: (objects[enums[i]].common) ? objects[enums[i]].common.members : [], javascript.0 2018-01-23 20:55:24.556errorscript.js.common.Heizungssteuerung: /opt/iobroker/node_modules/iobroker.javascript/javascript.js:2207
Gesendet von meinem SM-G955F mit Tapatalk `
Niemand eine Idee?
-
Hast Du, wie ich Dir bei Facebook geraten habe, erst mal mit einem Raum gestartet?
Poste bitte mal:
Einen Screenshot vom Admin, Reiter Aufzählungen, enum.rooms und enum.functions aufgeklappt
Einen Scrrenshot vom Code, wo die Räume definiert sind (das zu verwendende Gewrk sollte auch sichtbar sein)
Gruß,
Eric
-
Räume, Gewerke wurden auf der CCU2 angelegt. Ist das falsch?
5191_20180124_192527.jpg -
Räume, Gewerke wurden auf der CCU2 angelegt. Ist das falsch? `
Das hat keiner gesagtAber so kann ich sehen, ob sie sauber übertragen werden und wie sie heißen.
Postest Du noch den Screenshot des Code-Ausschnittes, bitte?
Und hast Du mit einem Raum angefangen?
Gruß,
Eric
-
Ich hoffe du meintest diesen Teil vom Code…
Habe direkt beide Räume angelegt...
5191_unbenannt.png -
Das passt und sieht soweit gut aus.
Welche Geräte hast Du in den beiden Gewerken?
In einem der Screenshots habe ich IDS von HMIP-Geräte erkannt. Aber welche sind das?
Gruß,
Eric
-
Hier ein Screenshot aus der CCU2
5191_unbenannt.png -
Hast Du keine Wandthermostate, sondern nur die Ventile?
Wenn ja, packe die mal anstatt der Ventile rein (im Kommentar im Code steht auch Tjermostate)
Gruß,
Eric