NEWS
YAHKA Homematic Heizung
-
Kann man das mit dem Modus und den Thermostaten irgendwie einstellen? Muss immer erst einen Modus von "Hand" einstellen, damit es korrekt angezeigt wird.
4487_img_0042.jpeg -
Hallo,
habe noch mal versucht um dieses "AUS" wegzubekommen, leider aber ohne Erfolg. Wenn ich in HomeKit das Thermostat anklicke und Automatisch auswähle passt das auch. Starte ich YAHKA aber neu oder öffne HomeKit auf einem anderen Gerät, werden die Thermostate immer im "AUS"-Zustand angezeigt. In der Homebridge hat das super funktioniert, wird doch auch mit YAHKA und ioBroker machbar sein.
Bin über jede Hilfe dankbar!
Gruß
Tim
-
Hi,
es wird jetzt zumindest bei mir angezeigt wenn die Heizung läuft. Leider steht da im Moment nur kühlen, aber ich sehe das das Ventil auf ist. Auch der Batteriestatus wird jetzt angezeigt.
Jetzt der Trick….
Es ist möglich mehrer Datenpunkte aus verschiedenen Geräten zu kombinieren. Also einfach auf ThemperaturSensor stellen und hier den Punkt StatusLowBattery mit dem Datenpunkt verbinden. Dann wieder auf Thermostat stellen und den Punkt Coolingstate mit der Ventilöffnung verbinden.
Jetzt wird eine schwache Batterie mit einem Ausrufezeichen und die Ventilöffnung (leider also Cooling) angezeigt.
Gruß
Lars
Hi,
Das Video ist wirklich super, danke.
Ich dachte das ich den Modus auch noch irgendwo einbinden könnte, dem ist wohl nicht so….schade...
Dann werde ich die restlichen Thermostate noch einbinden.
So ganz klappt das aber nicht, die Heizkörper sind alle aus.
51608532-8245-474A-9D6B-8330CAFABFBD.jpeg
Heizkörper sind aufgedreht und heizen.
Noch eine Frage, gibt es auch Taster in Homekit? So für Harmony oder Fritzbox? `
-
Hallo zusammen,
ich will kein eigenen Thread eröffnen und hänge mich daher hier dran.
Ich habe aktuell folgendes Problem. Wenn ich meinen Wandthermostat in YAHKA einbinde funktioniert die Steuerung sehr gut.
Das Problem ist jedoch, dass ich zwar eine SOLL Temp. am Wandthermostat einstelle, dieser die neue Temp. nicht an die Ventile weiter gibt.
In der CCU habe ich die Heizungsventile und das Thermostat in eine gemeinsame Gruppe eingestellt. Zusätzlich habe ich noch die Fensterkontakte in dieser Gruppe.
Vielleicht kann mir jemand weiterhelfen. Oder muss ich wirklich jedes Ventil einzel steuern?
Gruß
Patrick
-
Heute ist es kalt und ich habe mein Homematic Thermostate wieder mit frischen Batterien versorgt. Jetzt beschäftigt mich diese Problem mit dem Modus den man von Hand auf automatisch stellen muss.
Hat jemand das Problem in den griff bekommen?
Grüße
Afro
Kann man das mit dem Modus und den Thermostaten irgendwie einstellen? Muss immer erst einen Modus von "Hand" einstellen, damit es korrekt angezeigt wird. `
-
Bin auch gerade dabei meine Heizung wieder komplett zu programmieren homematic und yahka gehören dazu
Der thread ist schon bissl älter und irgendwie verstehe ich das Problem nicht genau.
Bitte kurz summary was du probiert hast und was das Problem genau ist Dan kan ich Mal schauen wie ich alles zusammen gebastelt habe.
(Ist schon wieder fast ein Jahr her also Hirnschmalz muss arbeiten)
Sent from my iPhone using Tapatalk
-
Hallo,
zusammen durch diesen Link habe ich den entscheidenden Hinweis gefunden:
https://github.com/jensweigele/ioBroker.yahka/issues/34
Allerdings hat die Einstellung unter CurrentHeatingCoolingState bei mir nicht funktioniert. Unter TargetHeatingCoolingState ging es dann, siehe Screenshot.
Zusammengefasst ging es darum das nach einen Neustart von YAHKA, bei jedem Themostat in IOS der Heizmodus manuell auf Automatisch gestellt werden musste.
Grüße
-
Same hier,
also wenn ich es so einstelle wie auf dem screenshot:
~~![](</s><URL url=)https://i.imgur.com/tZ6Ocvc.png" />
dann passiert folgendes mit den modi
Mode AUS in Homekit stellt auf 0 = Auto Mode <– leider ist dies nicht Aus sondern die Thermostate bleiben auf der Temperatur die eingestellt war...
Mode Heizung in Homekit stellt auf 1 = Manu Mode
Mode Kühlung in Homekit stellt auf 0 = Auto Mode
Mode Automatisch in Homekit stellt auf 0 = Auto Mode
kann jemand helfen?
ich sehe auch zwar das die Modi im Objekt umgestellt werden, jedoch sehe ich auf dem Thermostat keine Veränderung der Modi.
Hat das wer zum laufen bekommen?
PS: ich habe auch mal nur eine der Optionen angeschaltet also Current oder Target, bei Current zeigts nur den Status, währen er bei Target keinen Status zeigt aber die variable in den Objekten ändert.
Beides an klingt für mich stimmig, er registriert die Änderung und zeigt auch diese, kann Änderungen vornehmen, jedoch ja nicht wirklich :/~~
-
Moin,
ich habe eine Lösung für die Einbindung.
Ist ein wenig aufwendiger und vielleicht auch nicht die sauberste.
Ich habe zwei Objekte zu dem Thermostat hinzugefügt. Das erste um die Modi von Yahka und HM auf einen Nenner zu bringen und das zweite für die Anzeige des HeatingCoolingstates.
Beide als Zahlenwert.
Genannt habe ich diese:
1. Modus
2. HeatingCooling
Dann habe ich Yahka eingerichtet:
Anschließend habe ich noch ein Skript mit Blocky erstellt, um die beiden Objekte zu aktualisieren.
Der erste Teil, um die Modi von Yahka mit sinnigen Modi bzw. Einstellungen von HM zu verbinden.
Der zweite Teil zeigt den HeatingCoolingState an.
Sobald sich die Ventilstellung des Thermostates verändert, wird der Temperaturunterschied zwischen Raum und Set geprüft und demnach der HealingCoolingstate für Yahka geschrieben.
Hoffe der Weg ist soweit verständlich.
Ich bin mir sicher, dass jemand, der mehr Ahnung von dem Ganzen hat, eine elegantere Lösung findet, aber so funktioniert es für mich sehr gut.
-
Nachdem ich aus dem Forum auch schon so viel ziehen konnte, stelle ich hier mal mein Use-Case mit HomeMatic Thermostaten und HomeKit vor.
Also, unser HomeMatic Nutzungsszenario bedingt wie wir das ganze über HomeKit steuern wollen.
I.d.R. laufen unsere Thermostate über das Programm der CCU. Über den Tag sind je nach Nutzung ein paar Räume im Comfort Mode oder im Lowering Mode. Wenn wir eingreifen, dann (fast) nur über das Abrufen von Comfort oder Lowering. Gelegentlich wird auch mal kurz geboostet. Selten wird ein Thermostat auch mal ausgeschaltet oder in den manuellen Modus gewechselt.
Wichtig war uns, in HomeKit schnell zu sehen, wenn ein Thermostat manuell läuft, das sollte eher die Ausnahme sein.
Zudem sollte die Bedienung in beide Richtungen gehen, also sowohl über die Thermostate als auch in HomeKit.
Erst einmal habe ich mir angeschaut, welche Kombinationen von HK CurrentHeatingCoolingState (Rückmeldung des Thermostates an HK, kürze ich mal als Currentstate ab) und TargetHeatingCoolingState (Trigger in Richtung Thermostat, für mich Targetstate) welche Visualisierung in HomeKit bedingen:
Das Vorgeschlagene Mapping Targetstate HK zu Control Mode HM von Yahka fand ich nicht so toll.
Ich dachte an folgende Möglichkeiten:
Targetstate HK <> Control Mode HM
Off <> Urlaub
Heat <> Boost
Cool <> Manu
Auto <> Auto
Vorteil: man hätte für jeden Zustand in HK einen Control Mode in HM.
Nachteil: Ich finde das Mapping nicht eingängig (cool = Manu? Hmm). Außerdem finden wir unsere Abrufwerte für Comfort und Lowering nicht wieder (Use Case!).
Deswegen habe ich folgende Funktionsweise umgesetzt:
Targetstate HK <> Control Mode HM
Off > Manu, 4.5°
Heat > Auto-Mode, Comfort-Mode
Cool > Auto-Mode, Lowering-Mode
Auto > Auto
"Heat" und "Cool" sind in HomeKit "Taster", nach 300ms springt die Einstellung auf "Auto".
Um unseren Boost umzusetzen, nutze ich den HomeKit Temperaturregler. Wenn er auf >25° gezogen wird, aktiviert das den Boost-Modus. Als Feedback springt in HomeKit die Temperatur dann auf Anschlag (38°) und geht wieder auf die reguläre Target Temperatur nach dem Boost.
Jetzt gibt es verschiedene Möglichkeiten die Betriebszustände eines HomeMatic Thermostates sinnvoll zu visualisieren, hier würden sich mit Hilfe des CurrentHeatingCoolingStates mehrere Szenarien anbieten:
Targetstate = off ist klar, ganz aus ist weiß, manuell mit Set Temp > 4.5° ist grau.
Innerhalb von Targetstate = Auto hätte ich folgende Ideen:
Visualisierung von warmen Räumen
nach Ist-Temperatur
Ist° >= 20° = orange (Currentstate heat)
Ist° < 20° = blau (Currentstate cool)
nach Soll-Temperatur
Soll° >= 20° = orange
Soll° < 20° = blau
Visualisierung nach Heizungsverhalten (aufheizen, abkühlen)
Soll° > Ist° = orange
Soll° < Ist° = blau
Soll° = Ist° = grün
Ich habe mich erstmal für letztere Darstellung entschieden. Auch wenn ich ebenso interessant finde, anhand der Farben schnell zu sehen welche Räume gerade warm sind oder sein sollen (denn in der letzten Logik ist sowohl ein konstant kalter als auch ein konstant warmer Raum grün).
Aber diesen Teil könnte man ja auch noch recht schnell im Script ändern
Kleiner Zusatz: Boost wird immer orange visualisiert, egal wie Soll° und Ist° aktuell stehen.
Als Übersicht könnte das so ungefähr aussehen:
Zu Umsetzung. Ich benötige drei Hilfsobjekte, die ich unterhalb einer Gruppe (=Thermostat) angelegt habe (alle vom Typ Number).
CurrentHeatingCoolingState
TargetHeatingCoolingState
TargetTemperature
Die Verknüpfung im Adapter sieht so aus:
Dann noch ein paar Hürden die mir aufgefallen sind:
HomeKit geht nicht unter 10°. Das sorgt für nicht ganz korrespondierende Darstellung zu HomeMatic.
Ich stolpere immer noch über gegenseitige Trigger-Abhängigkeiten in der Programmierung, bin da auch kein Profi. Ich dachte ich könnte über den Acknowledge-State unterscheiden, ob eine Änderung durch das Gerät oder mein Script kommt, das ging aber nicht zuverlässig. Ich habe mir nun mit Zeitstempeln geholfen.
Insbesondere die Control-Mode-Änderung in HM hat teilweise bis 1 Sekunde Lag, das sorgt für etwas holprige (viel schnellere) Scriptausführung (manche Schleifen laufen daher doppelt in zwei Schritten durch). Da sollte aber nichts kaputt gehen
Schade, dass nicht erkennbar ist, ob sich ein Thermostat in der Lowering- oder Comfort-Temperatur befindet. Sonst hätte meine Umsetzung etwas anders ausgesehen. Aber so geht's auch.
Hier nun einzelne Screenshots, Blockly 1-5 ist bei mir ein Script. Ich habe die Debug-Blöcke dringelassen, weil sie für die Erläuterung vielleicht ganz hilfreich sind.
Blockly 1
Um das Script jeweils schnell für meine Handvoll Thermostate bei einer neuen Version zu duplizieren, habe ich mit Variablen gearbeitet, so dass ich nur zwei ObjectIDs ganz oben wählen muss. Damit ich alles mit Blockly abbilden kann, musste ich noch zwei mini-Funktionen bauen.
Blockly 2
Auf Änderungen des HomeMatic Control-Modes reagieren
Blockly 3
Auf Änderungen des HomeKit Targetstates reagieren
Blockly 4
Temperaturänderungen durch HomeMatic verarbeiten und davon abhängig CurrentHeatingCoolingState setzen (Thema Visualisierung)
Blockly 5
Temperaturänderungen von HomeKit verarbeiten
Mit mehr ioBroker- und JS-Kenntnissen könnte man dieses Thermostatverhalten bestimmt in eine globale Funktion packen, die man dann nur noch mit dem jeweiligen Thermostat aufruft. Wenn jemand Lust hat, das fortzuführen…
Für Tipps bin ich offen, bin mir sicher, dass es teilweise elegantere Methoden gibt um an das gleiche Ziel zu kommen.
Bei Interesse kann ich auch gerne das Script bereitstellen!
-
Nachdem ich aus dem Forum auch schon so viel ziehen konnte, stelle ich hier mal mein Use-Case mit HomeMatic Thermostaten und HomeKit vor. `
Super Arbeit… Könntest Du eventuell noch für alle deine Blockly-Skripte die Exporte zur Verfügung stellen? Danke...
-
Nachdem ich aus dem Forum auch schon so viel ziehen konnte, stelle ich hier mal mein Use-Case mit HomeMatic Thermostaten und HomeKit vor. `
Danke für die Ausführliche Aufstellung. Darf ich deine Arbeit in den Adapter übernehmen?
HomeKit geht nicht unter 10°. `
Mit der aktuellen Master Version kannst du Min, Max und Step für jede Characteristic ändern (einfach auf "[properties]" klicken).
-
Super Arbeit… Könntest Du eventuell noch für alle deine Blockly-Skripte die Exporte zur Verfügung stellen? Danke... `
Danke für die Ausführliche Aufstellung. Darf ich deine Arbeit in den Adapter übernehmen? `
Danke, freut mich wenn's gefällt. Ja, Du kannst gerne davon übernehmen was Dir sinnvoll erscheint (auch ggf Bildmaterial).
Meinen Blockly Code (Achtung, bin wie gesagt kein gelernter Progger, bitte gut prüfen) habe ich angehängt.
Mit der aktuellen Master Version kannst du Min, Max und Step für jede Characteristic ändern (einfach auf "[properties]" klicken).
Screenshot 2019-01-14 at 22.43.57.png `
Oh, sehr cool! Dein Screenshot verrät, dass Du auch schon getrennte Lese- und Schreibfelder planst - auch sehr willkommen
Habe für "min" nun 4.5 gewählt und die Schritte gleich analog zu HomeMatic auf 0.5 gesetzt, gefällt mir!
(nur am Rande, wie bekomme ich denn ohne Versionssprünge am besten mit, wenn es wieder neue Features im Github-Master gibt?)
2650_iobroker-homekit-homematic-thermostatanbindung.xml -
Dürft ich hier noch mal unbedarft nachfragen?
Wäre diese Einstellung mit den hier besprochenen Features jetzt richtig?
(HmiP-WTH-2 mit 4 Thermostaten in einer Gruppe)
-
Oder habe ich das falsch verstanden und die neuen Features sind noch nicht im Yahka Master verfügbar?
-
Ich hab das bei mir so gelöst und das funktioniert bis jetzt einwandfrei. Bei den Modes kann man allerdings nur Automatisch und Manuell (Heizen in HomeKit) einstellen.
Das ist der Inhalt der Funktionen in Blockly
/** * Beschreibe diese Funktion … */ function setAutoMode(objectID, autoMode) { setState(objectID.replace("CONTROL_MODE", "AUTO_MODE"), autoMode); } /** * Beschreibe diese Funktion … */ function setManuMode(objectID) { setState(objectID.replace("CONTROL_MODE", "AUTO_MODE"), false); getState(objectID.replace("CONTROL_MODE", "SET_TEMPERATURE"), function (err, state) { var value = state.val; setState(objectID.replace("CONTROL_MODE", "MANU_MODE"), value); }); }
Und hier der Yahka Teil
-
Darf ich mich hier nochmal ran hängen?
Hab die Funktionen im Scriptblock erstellt - jedoch bekomme ich nur "Javascript-Funktion setAutoMode </>" angezeigt.
Der Rest dieser Funktion "mit Objekt ID" und drunter "setAutoMode" ist nicht dabei.
So habe ich das in das "</>" Feld eingetragen:
function setAutoMode(objectID, autoMode) { setState(objectID.replace("CONTROL_MODE", "AUTO_MODE"), autoMode); }
-
Hallo,
habe die Tage auch eine iobroker Instanz mit yahka aufgesetzt.
Inzwischen sind auch einige eq-3 (max!) Thermostate eingebunden und lassen sich ansprechen.
(Entsprechendes Mapping der Werte auf HomeKit etc.)
So weit so gut!Hier war auch schon mal die Rede davon das jedesmal wenn wieder die HomeApp geöffnet wird oder erstmalig auf einem anderen iPhone/iPad gestartet wird, alle Thermostate auf OFF stehen.
Mir wäre es lieber die IST-Temperatur, die SOLL-Temperatur sowie der Status OFF/MANU/AUTO würde beim Aufruf über HomeKit->ioBroker (hier stehen die korrekten Werte) direkt abgerufen werden.
Hat das jemand hinbekommen und kann hier entsprechende Hinweise geben?
-
Hallo,
ist bei der neusten Version von Yahka die Ansicht geändert worden? Es fehlt die Möglichkeit ein Mapping durchzuführen. Lediglich vorgefertigte Conversion sind möglich. So kann ich aber nicht den Status so verändern, wie ich es brauche.
Max!
0(auto)
1(manual)
2(vacation)
3(boost)Homekit
0(aus)
1(heizung)
2(kühlung)
3(automatisch)0=3
1=1
2=0
3=2Weiß jemand, wie ich mit der "neuen" Version wieder ein einfaches mapping hinbekomme?
Danke und GrüßeDominik
-
@dominik-oyen
Hi Domink,
ich habe für das Problem, das die Thermostate in der Homkit App AUS anzeigen folgenden Workaround gefunden, der funktioniert, ich kann dir aber nicht erklären warum. Ich habe einfach so lange rumprobiert, bis es geklappt hat.
Mein Ziel war es, das die Heizkörperthermostate immer auf "Heizen" stehen in der App, auch wenn es keine Funktion hat, es ging mir nur um eine schönere Anzeige.In Yahka habe ich für die Thermostate bei "CurrentHeatingCoolingState" folgende Einstellung:
InOut: const
Value: 1
Conversion: HomematicControlModeToHomekitHeathingCoolingState
State: 1Bei Value und State kannst du auch einen anderen Zustand wählen wie du ja schon gepostet hast:
0(aus)
1(heizung)
2(kühlung)
3(automatisch)Ich habe zwar keine Homematic Geräte, aber die folgenden Adapter installiert (und deaktiviert), einer davon liefert wohl den Wert den man für "Conversion" setzen muss (HomematicControlModeToHomekitHeathingCoolingState):
HomeMatic ReGaHSS
HomeMatic RPCWie gesagt: keine befriedigende Antwort für dei die wissen wollen warum und wie, aber es funktioniert.
Frank!