NEWS
[Gelöst] Yakha Heizungssteuerung Homematic
-
@mickym Ja, das habe ich so gemacht. Bei dir verweisen aber auch TargetHeatingCoolingState und TargetHeatingCoolerState auf den gleichen Datenpunkt?
-
@draexler Ja damit spare ich mir die Bestätigung. Also wird der gleiche Datenpunkt entweder von der App oder dem Adapter (manuell) geändert.
-
@mickym Kann es sein das hier noch irgendwo ein Bug im Adapter ist? Auf deinem Screenshot ist etwas komisches zu sehen:
Und zwar unter der Stateauswahl, hast du anscheinend mal bei der Conversion was ausgewählt, weil da so ein komischer Abstand ist und auch noch ein rotes X... Greift da vielleicht noch irgendetwas? -
@mickym Ok, dann passt das auch, das habe ich auch so.
-
@draexler Du musst die Werte bestätigt setzen
Prüf ggf. auch den Typ des Datenpunktes (Zahl/Number)
-
@mickym Auch geprüft und in Ordnung. Wert wird bestätigt geschrieben.
-
@draexler Du musst TargetHeatingCoolingState Punkt beschreiben nicht CurrentHeatingCoolingState. Auf dem Screenshot ist es CurrentHeatingCooling State und schauen, dass er Typ Zahl ist.
-
@mickym Oh Mann bin ich vielleicht blöd.... Das wars. Damit wird das auch angepasst. Bist heute definitiv in meine Nachgebet dabei
Aber wenn ich Ehrlich bin verstehe ich dann noch nicht ganz den Sinn von dem "CurrentHeatingCooling State", aber vielleicht ist es auch schon ein bisschen zu spät zu heute
... Frage selbst beantwortet für "CurrentHeatingCooling State" 0=Aus 1=Heizen, also wie du auch schon beschrieben hast. Also wenn Ventilöffnung größer als 0 dann 1 setzen.
Aber wie kommt die Einfärbung grau/orange/grün im HomeKit zu stande? Grau ist aus, Orange ist heizen und grün?
-
@draexler Habe ich auf dem Bild beschrieben.
CurretnHeatingState ist nur 0,1 -also ausgeschaltet, heizen (2 kühlen ist nicht relevant).
Wie gesagt ich setze den Punkt nach Ventilöffnung: >0 = 1 keine Ventilöffnung =0=0
Neben dem Bild Status siehst Du CurrentHeatingState in der Übersicht noch hier:
CurrentHeatingState=1:
CurrentHeatingState=0:
-
@mickym: Habe deine Antwort oben selber ergänzt
Also Heizungssteuerung ist schon eine Wissenschaft für sich...Aber nochmal, vielen vielen Dank
Jetzt müssen noch die Blockly sprich die Logik gemacht werden, das wird auch noch eine Arbeit bei ca. 10 Räumen.
Aber ich denke der Thread wird einigen Personen weiterhelfen
-
@draexler sagte in Yakha Heizungssteuerung Homematic:
@mickym: Habe deine Antwort oben selber ergänzt
Also Heizungssteuerung ist schon eine Wissenschaft für sich...Aber nochmal, vielen vielen Dank
Jetzt müssen noch die Blockly sprich die Logik gemacht werden, das wird auch noch eine Arbeit
Ja ich hab halt alles mit NodeRed umgesetzt und der Flow ist ziemlich komplex geworden.
Aber ich denke der Thread wird einigen Personen weiterhelfen
und deswegen helfe ich ja auch immer gerne. Ich habe ja auch profitiert. Kühlung aus der App geschmissen. und auch selbst was gelernt.
-
@draexler sagte in [Gelöst] Yakha Heizungssteuerung Homematic:
Jetzt müssen noch die Blockly sprich die Logik gemacht werden,
Hallo @draexler könntest du mir zeigen wie das Blockly ungefähr aussehen müsste. Habe noch kein Plan. danke
-
@tt-tom Klar kein Problem:
Das Ding ist ziemlich groß, deswegen am besten das Blockly importieren und bei Fragen gezielt hier die Frage stellen.
<xml xmlns="https://developers.google.com/blockly/xml"> <block type="comment" id="K7q]A3%f[x)(a0Nt-e.q" x="238" y="-187"> <field name="COMMENT">Homekit Boost</field> <next> <block type="on" id="91}$Ul]Y#D3AON:2b??$"> <field name="OID">0_userdata.0.Heizung.Gästezimmer.Boost-Homekit</field> <field name="CONDITION">true</field> <field name="ACK_CONDITION">false</field> <statement name="STATEMENT"> <block type="control" id="QX`s}9UL~(zdF7U3{|-d"> <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation> <field name="OID">alias.0.Gaestezimmer.Heizung.Heizungssteuerung.BOOST_MODE</field> <field name="WITH_DELAY">FALSE</field> <value name="VALUE"> <block type="logic_boolean" id="eAtN8pGCg]W-a;pYMPI2"> <field name="BOOL">TRUE</field> </block> </value> <next> <block type="timeouts_wait" id="v{VerO4d$)}%lB7OQ*sU"> <field name="DELAY">300</field> <field name="UNIT">sec</field> <next> <block type="control" id="SWf2@gOkNmZ7V{XWm*MV"> <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation> <field name="OID">0_userdata.0.Heizung.Gästezimmer.Boost-Homekit</field> <field name="WITH_DELAY">FALSE</field> <value name="VALUE"> <block type="logic_boolean" id="Nn^so7T72cLqzyC5s+H+"> <field name="BOOL">FALSE</field> </block> </value> </block> </next> </block> </next> </block> </statement> <next> <block type="on" id="(/9I;T,9Q%ZnIO-UDkc^"> <field name="OID">alias.0.Gaestezimmer.Heizung.Heizungssteuerung.BOOST_MODE</field> <field name="CONDITION">any</field> <field name="ACK_CONDITION"></field> <statement name="STATEMENT"> <block type="update" id="ca*.Ll#8^)4SNe~?vNzQ"> <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation> <field name="OID">0_userdata.0.Heizung.Gästezimmer.Boost-Homekit</field> <field name="WITH_DELAY">FALSE</field> <value name="VALUE"> <block type="logic_boolean" id="vOFjix*Z9[:+4?Mn|xSH"> <field name="BOOL">TRUE</field> </block> </value> <next> <block type="timeouts_wait" id="Y(B@0M%+OUN+W64JN`%`"> <field name="DELAY">300</field> <field name="UNIT">sec</field> <next> <block type="control" id="=3S)y_rX?_!d4OhamrX*"> <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation> <field name="OID">0_userdata.0.Heizung.Gästezimmer.Boost-Homekit</field> <field name="WITH_DELAY">FALSE</field> <value name="VALUE"> <block type="logic_boolean" id="ziNfXH2V5dbpvH/M/{YX"> <field name="BOOL">FALSE</field> </block> </value> </block> </next> </block> </next> </block> </statement> <next> <block type="comment" id="{/9Z+bPm(paDBjYk,%DR"> <field name="COMMENT">Homekit Stellantrieb</field> <next> <block type="on" id="X3AP.PC:DJ%g~qWCad%~"> <field name="OID">alias.0.Gaestezimmer.Heizung.Heizungsthermostat.VALVE_STATE</field> <field name="CONDITION">ne</field> <field name="ACK_CONDITION"></field> <statement name="STATEMENT"> <block type="controls_if" id="BQw,]_hK5R9OapP8B4lY"> <mutation else="1"></mutation> <value name="IF0"> <block type="logic_compare" id="C^OIh%7z^cMg|C[9U%,R"> <field name="OP">GT</field> <value name="A"> <block type="on_source" id="_18R/bt~|w=g}{:oS6|D"> <field name="ATTR">state.val</field> </block> </value> <value name="B"> <block type="math_number" id="EoBDeQ`+]QaoHK1`}@BP"> <field name="NUM">0</field> </block> </value> </block> </value> <statement name="DO0"> <block type="update" id="n/TI/Fn|r4[ky2YQJLON"> <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation> <field name="OID">0_userdata.0.Heizung.Gästezimmer.Stellantrieb-Homekit</field> <field name="WITH_DELAY">FALSE</field> <value name="VALUE"> <block type="math_number" id="P+lOe|rGce4=fZbHCtJA"> <field name="NUM">1</field> </block> </value> </block> </statement> <statement name="ELSE"> <block type="update" id="w+rp=;TdE)CviwYq1[5]"> <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation> <field name="OID">0_userdata.0.Heizung.Gästezimmer.Stellantrieb-Homekit</field> <field name="WITH_DELAY">FALSE</field> <value name="VALUE"> <block type="math_number" id="gT0IB@zN~SXU+nhov8fk"> <field name="NUM">0</field> </block> </value> </block> </statement> </block> </statement> <next> <block type="comment" id="0^mEd@d3l;K]X$kxH.M$"> <field name="COMMENT">Homekit Modus Empfang</field> <next> <block type="on_ext" id="66@|s$rZfW/5TV2_l;yQ"> <mutation xmlns="http://www.w3.org/1999/xhtml" items="2"></mutation> <field name="CONDITION">ne</field> <field name="ACK_CONDITION"></field> <value name="OID0"> <shadow type="field_oid" id="_9h,.d(u%0rx^;$uv.V3"> <field name="oid">alias.0.Gaestezimmer.Heizung.Heizungssteuerung.CONTROL_MODE</field> </shadow> </value> <value name="OID1"> <shadow type="field_oid" id="EJpw,g9U[XBModmtQ#tV"> <field name="oid">alias.0.Gaestezimmer.Heizung.Heizungssteuerung.SET_TEMPERATURE</field> </shadow> </value> <statement name="STATEMENT"> <block type="controls_if" id=":2QmA%s!sYtUCP/NRWcd"> <mutation elseif="2"></mutation> <value name="IF0"> <block type="logic_operation" id="Xh)xK,C;hOXLmUY41Xy|"> <field name="OP">AND</field> <value name="A"> <block type="logic_compare" id="%$JOXbT*H9YS2Lv;2(lW"> <field name="OP">EQ</field> <value name="A"> <block type="get_value" id="EQ(nV1-gX+C=+|;c81BN"> <field name="ATTR">val</field> <field name="OID">alias.0.Gaestezimmer.Heizung.Heizungssteuerung.CONTROL_MODE</field> </block> </value> <value name="B"> <block type="math_number" id="FPl[8l0:1sVijat,H|Q$"> <field name="NUM">1</field> </block> </value> </block> </value> <value name="B"> <block type="logic_compare" id="%UT5rlQ)XN)a^qgd88R@"> <field name="OP">EQ</field> <value name="A"> <block type="get_value" id="=NB/FW;^4V)[Z.i,TG(Y"> <field name="ATTR">val</field> <field name="OID">alias.0.Gaestezimmer.Heizung.Heizungssteuerung.SET_TEMPERATURE</field> </block> </value> <value name="B"> <block type="math_number" id="F[wS];./4)$jw=a}$qam"> <field name="NUM">4.5</field> </block> </value> </block> </value> </block> </value> <statement name="DO0"> <block type="update" id=";kO+53C]C:KO=tlx/NIl"> <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation> <field name="OID">0_userdata.0.Heizung.Gästezimmer.Modus-Homekit</field> <field name="WITH_DELAY">FALSE</field> <value name="VALUE"> <block type="math_number" id="Bc,p):k@*UT~}fxES;-e"> <field name="NUM">0</field> </block> </value> </block> </statement> <value name="IF1"> <block type="logic_operation" id="qu+)Zd4MM!l=*;oB]dh:"> <field name="OP">AND</field> <value name="A"> <block type="logic_compare" id="_U8U!JA|c~^J;vk4m?^^"> <field name="OP">EQ</field> <value name="A"> <block type="get_value" id="m(rjxbyW|aPhfb9T#;eD"> <field name="ATTR">val</field> <field name="OID">alias.0.Gaestezimmer.Heizung.Heizungssteuerung.CONTROL_MODE</field> </block> </value> <value name="B"> <block type="math_number" id="9+Q;Add@KUn9BTSIR/0;"> <field name="NUM">1</field> </block> </value> </block> </value> <value name="B"> <block type="logic_compare" id="ERLG)?U.@0W0%%U3=|Aw"> <field name="OP">GT</field> <value name="A"> <block type="get_value" id="B3:trqaTIM?=vDzft^7#"> <field name="ATTR">val</field> <field name="OID">alias.0.Gaestezimmer.Heizung.Heizungssteuerung.SET_TEMPERATURE</field> </block> </value> <value name="B"> <block type="math_number" id="20,R;S(oXz#b!Awlpj%8"> <field name="NUM">4.5</field> </block> </value> </block> </value> </block> </value> <statement name="DO1"> <block type="update" id="0)I~/nEDwIyW!_OUn-+8"> <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation> <field name="OID">0_userdata.0.Heizung.Gästezimmer.Modus-Homekit</field> <field name="WITH_DELAY">FALSE</field> <value name="VALUE"> <block type="math_number" id="2?#I4skG!GpvYo_@a%/n"> <field name="NUM">1</field> </block> </value> </block> </statement> <value name="IF2"> <block type="logic_compare" id="X4FjV~cT~o{y54Y;sco0"> <field name="OP">EQ</field> <value name="A"> <block type="get_value" id=",iz/joSzkuri_fk]rMff"> <field name="ATTR">val</field> <field name="OID">alias.0.Gaestezimmer.Heizung.Heizungssteuerung.CONTROL_MODE</field> </block> </value> <value name="B"> <block type="math_number" id="7it)!MBC~h8V~!q.h/VN"> <field name="NUM">0</field> </block> </value> </block> </value> <statement name="DO2"> <block type="update" id="{yKZA?l!c1msTy][f:h/"> <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation> <field name="OID">0_userdata.0.Heizung.Gästezimmer.Modus-Homekit</field> <field name="WITH_DELAY">FALSE</field> <value name="VALUE"> <block type="math_number" id="hVmcQ:ks^A_hQz[5@Z;y"> <field name="NUM">3</field> </block> </value> </block> </statement> </block> </statement> <next> <block type="on" id="Fo7Ul9Xj|ZFt6fsnp[p]"> <field name="OID">alias.0.Gaestezimmer.Heizung.Heizungssteuerung.SET_TEMPERATURE</field> <field name="CONDITION">ne</field> <field name="ACK_CONDITION">true</field> <statement name="STATEMENT"> <block type="controls_if" id="!sHU,d}$qKX,Aaa3zgRa"> <value name="IF0"> <block type="logic_operation" id="H*?rR{pQ`;[gR@AWKQG."> <field name="OP">AND</field> <value name="A"> <block type="logic_compare" id="q#NUa.v7u5kY;Za1?mMA"> <field name="OP">GT</field> <value name="A"> <block type="get_value" id="uO}i#~iI-31.1P;rT8:D"> <field name="ATTR">val</field> <field name="OID">alias.0.Gaestezimmer.Heizung.Heizungssteuerung.SET_TEMPERATURE</field> </block> </value> <value name="B"> <block type="math_number" id="w5)]bU{]-ux%v`*5b-c#"> <field name="NUM">4.5</field> </block> </value> </block> </value> <value name="B"> <block type="logic_compare" id="cDJCK!B:HxX[NX`lA3c{"> <field name="OP">EQ</field> <value name="A"> <block type="get_value" id="mGxL~Y0E%.;j@3:R^,.W"> <field name="ATTR">val</field> <field name="OID">0_userdata.0.Heizung.Gästezimmer.Modus-Homekit</field> </block> </value> <value name="B"> <block type="math_number" id="]ArDVHW[_srCj`;35a-X"> <field name="NUM">0</field> </block> </value> </block> </value> </block> </value> <statement name="DO0"> <block type="update" id="zv?S_!+F%lf}Aw.=d]TG"> <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation> <field name="OID">0_userdata.0.Heizung.Gästezimmer.Modus-Homekit</field> <field name="WITH_DELAY">FALSE</field> <value name="VALUE"> <block type="math_number" id="2alU=YWgBVyE_%(e^q=."> <field name="NUM">1</field> </block> </value> </block> </statement> </block> </statement> <next> <block type="comment" id="Rwb$,v1R{p:c8${T$*aD"> <field name="COMMENT">Homekit Modus Senden</field> <next> <block type="on" id="a1rN!_Y9kd!xy$L`mA%7"> <field name="OID">0_userdata.0.Heizung.Gästezimmer.Modus-Homekit</field> <field name="CONDITION">ne</field> <field name="ACK_CONDITION">false</field> <statement name="STATEMENT"> <block type="controls_if" id="l-9n.7^=+V2[?)b@:~SA"> <mutation elseif="2"></mutation> <value name="IF0"> <block type="logic_compare" id="PRX~[wqF$Fl*pfK7T0ZQ"> <field name="OP">EQ</field> <value name="A"> <block type="on_source" id="Gd@YKom7Okut_~~vc%~e"> <field name="ATTR">state.val</field> </block> </value> <value name="B"> <block type="math_number" id=":{:w/)+K7due@z4xkhqp"> <field name="NUM">0</field> </block> </value> </block> </value> <statement name="DO0"> <block type="control" id="CZo5tW;|O!/6,+g=Q[Z`"> <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation> <field name="OID">alias.0.Gaestezimmer.Heizung.Heizungssteuerung.MANU_MODE</field> <field name="WITH_DELAY">FALSE</field> <value name="VALUE"> <block type="math_number" id="SG)_G?VZf4`1.nZKI}{x"> <field name="NUM">4.5</field> </block> </value> </block> </statement> <value name="IF1"> <block type="logic_compare" id="]{ccDT9^2u#x!lqVt6!*"> <field name="OP">EQ</field> <value name="A"> <block type="on_source" id="5qgb3xFrX)=(qxH~aFpN"> <field name="ATTR">state.val</field> </block> </value> <value name="B"> <block type="math_number" id="yFNnoxf4;@pazdMM!)Fz"> <field name="NUM">1</field> </block> </value> </block> </value> <statement name="DO1"> <block type="control" id="{+*z%zA,Mv$`7+.@^IjW"> <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation> <field name="OID">alias.0.Gaestezimmer.Heizung.Heizungssteuerung.MANU_MODE</field> <field name="WITH_DELAY">FALSE</field> <value name="VALUE"> <block type="get_value" id="97(M#JspGbi4$DY9;q6,"> <field name="ATTR">val</field> <field name="OID">0_userdata.0.Zentrale_Parameter.Heizung.Eco_Temperatur</field> </block> </value> </block> </statement> <value name="IF2"> <block type="logic_compare" id="yUVdbvjlJy_DRty?Ww*9"> <field name="OP">EQ</field> <value name="A"> <block type="on_source" id="JsUJh#W(Dv0A,UEeZ~XO"> <field name="ATTR">state.val</field> </block> </value> <value name="B"> <block type="math_number" id=")[m0vn#{h+UEw6}xF1c%"> <field name="NUM">3</field> </block> </value> </block> </value> <statement name="DO2"> <block type="control" id="M1x^RsE~7^JG1iq/qR!d"> <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation> <field name="OID">alias.0.Gaestezimmer.Heizung.Heizungssteuerung.AUTO_MODE</field> <field name="WITH_DELAY">FALSE</field> <value name="VALUE"> <block type="logic_boolean" id="SUbK3T({t.aWHv*~l[v}"> <field name="BOOL">TRUE</field> </block> </value> </block> </statement> </block> </statement> </block> </next> </block> </next> </block> </next> </block> </next> </block> </next> </block> </next> </block> </next> </block> </next> </block> </next> </block> </xml>
-
@draexler
danke für das Blockly, werde mich die Tage mit beschäftigen. Leider ist die Zeit grade knapp, um sich mal in Rinne damit auseinander zu setzen. melde mich wieder. -
welchen Adapter nutzt du? homematic IP oder RPC. habe noch Probleme mit den Status Aus/Heizen/Automatik. Ich nutze den RPC und bekomme den den Modus nicht geändert, er wird vom Adapter wieder überschrieben.
-
@tt-tom Homematic RPC.
Wichtig ist bei diesen Skript bei den Triggern ob aktualisiert oder geändert wurde. Da musste ich lang tüfteln. -
@draexler Danke für die Info. Muss mir das ganze nochmal durchlesen bzw. ansehen bei Haus-Automatisierung. Die sind ganz gut erklärt.
-
Moin,
schon alter Thread und etwas offtopic, aber ich glaube, dass ich hier die richtigen habe...Ich binde gerade eine Gruppe von AVM DECT301 an. Auch dort ist 'Kühlung' unsinnig und wird dank Euch auch nicht mehr angezeigt.
Jetzt meine Frage, die evtl. eher Richtung Homekit geht:
Wo ist der Unterschied zwischen Automatisch und Heizen (oder auch Kühlen). Was sollte man erwarten bei 'Kühlen', wenn eigentlich von x auf y geheizt werden muss.Übersehe ich etwas, weil ich nur an eine klassische 'Heißwasser-Heizung' denke?
Irgendwie habe ich das Gefühl, dass ich (zumindest in meinem DECT301-Fall) nur Aus und Auto brauche, ich kann ja eh nur die gewünschte Temperatur einstellen.
-
@sammy-r sagte in [Gelöst] Yakha Heizungssteuerung Homematic:
Wo ist der Unterschied zwischen Automatisch und Heizen
Nun bei Homematic und ich nutze die MAX! Steuerung gibt es zum Heizen die Möglichkeit eigene Zeitprofile in den Heizkörpern oder im Wandthermostat zu hinterlegen. Dieses Heizprofil wird bei Automatik aktiviert, während reines Heizen lediglich die eingestellte Temperatur versucht zu halten und zwar so lange, bis man es manuell wieder ändert. Dies entspricht in den genannten Systemen dem Modus "Manuell". Deswegen wird für mich das Programm Heizen für das manuelle Einstellen der Temperatur verwendet, während Automatik das im Heizkörper oder im Thermostat hinterlegt Zeitprofil aktiviert.
Der Vorteil von eigenen Zeitprofilen in den Heizkörpern oder Thermostaten ist, dass diese funktionieren auch wenn der iobroker nicht funktioniert oder offline ist.
-
@mickym
Danke Dir. Diese Zeitprogramme gibt es bei der Fritzbox auch. Daran habe ich gar nicht gedacht. Ich glaube, manuell wird beim nächsten automatischen Schaltpunkt (wenn vorhanden) wieder deaktiviert.Jetzt hab ich eine Idee. Danke für die schnelle Antwort.