IFTTT & Homematic IP Thermostat Modus als Trigger

leiti446leiti446 Member Posts: 8

Hallo,
ich will aus meiner Homematic IP Steuerung etwas mehr rausholen und mittels IFTTT die Temperatur runterregeln sobald ich das Haus verlasse. Natürlich soll das nur dann passieren wenn die Heizung im Automatikmodus läuft.


Aufbau:
1) IFTTT Trigger (Event/NoEvent)
2) Homematic IP Thermostat Modus Trigger (automatic/eco/manual) für einen definierten Raum

1 & 2 sind mittels "UND" verbunden und sollte auslösen wenn "Event" (IFTTT) und "automatic" (Homematic Trigger) kommt.

3) Als Aktor setz ich dahinter einfach die Temperatur.



Problem: Aus irgendeinem Grund wird nie ausgelöst. Entferne ich den Homematic Trigger funktionierts problemlos. Es sieht so aus als ob der Homematic Trigger nicht richtig funktioniert. Die Heizung ist aber definitiv im Automatik Modus.


Hat jemand ähnliche Probleme, bzw. hab ich irgendeinen Denkfehler in meinem Aufbau?

Danke, mfG Stefan

Tagged:

Answers

  • ChristianChristian admin Administrator, Moderator Posts: 1,682 admin

    Hallo @leiti446, schaue doch bitte zunächst auf dieses Tutorial. Im nächsten Schritt müsste ich versuchen zu verstehen, warum du nicht auf ECO regelst, wenn du das Haus verlässt? Um zum eigentlichen Kern deiner Frage vorzudringen, ich vermute, dass der Control Mode Sensor kein zeitlich konstantes Signal liefert, welches sich mit dem AND-Gate verknüpfen ließe.

  • leiti446leiti446 Member Posts: 8

    Hallo Christian,

    der IFTTT Trigger funktioniert, ich stoß ihn allerdings mit MacroDroid an und geh über Funkzellen weils stromsparender ist. Funktioniert in anderen Projekten wunderbar und funktioniert auch wenn ich das "UND" und den "Mode Trigger" entferne. (Habs mit SMS aus Conrad Connect getestet)

    Warum nicht Eco Mode sondern Temperatur:
    ECO Temperatur kann ich in der Homematic App nicht pro Raum regeln sondern nur allgemein. Ich will aber im Bad auch im "Sparmodus" 3 Grad mehr haben als in allen anderen Räumen.
    Weiterer Vorteil ich spar mir das zurückschalten von Eco auf Automatik, die Temperatur wird dann einfach mit dem Heizprofil wieder angepasst und das soll jeden Tag zu einer fixen Zeit passieren.

    Heizprofil:
    06:00 - 10:00 - 22 Grad
    10:00 - 17:00 - 19 Grad
    17:00 - 23:30 - 22 Grad

    Über Conrad Connect will ich einfach bei verlassen des Hauses vor 10:00 die Temp schon auf 19 Grad runtersetzen, bzw. am Abend wenn ich mein Handy auflade auch wieder frühzeitig auf 19 Grad runterdrosseln.

    Hmmm - der Control Mode Sensor schickt glaub ich alle 15min ein Signal, ich hätt mir erwartet, dass die UND Verknüpfung so schlau ist und sich das merkt wenns kein konstanten Signal gibt. Ansonsten ist der Control Mode Sensor ja irgendwie sinnlos. Gibts vielleicht eine Möglichkeit den Sensor anzustupsen? Ich bräucht ja eigentlich nur 2x pro Tag den Wert davon ;-)

    Ich könnt mir einen "Rückkanal" zu Macrodroid einbauen und den Wert dort zwischenspeichern und dann das Auslosen dort schon abfangen falls nicht im Automatik Modus. Wär aber ein ziemlicher Hack um eine eigentlich recht simple Anforderung umzusetzen. Any other ideas?

  • ChristianChristian admin Administrator, Moderator Posts: 1,682 admin

    Das mit dem Rückkanal zu Macrodroid würde mich schon mal sehr interessieren! Generell prüfen wir bereits Möglichkeiten in dem von dir genannten Sinne, um logische Verknüpfungen über die verschiedensten Sensorarten hinweg zu ermöglichen.

  • leiti446leiti446 Member Posts: 8

    Guten Morgen,

    Rückkanal zu Macrodroid funktioniert.
    Conrad_Marker Aktor und ein Request an https://trigger.macrodroid.com/device_id_key_from_macrodroid/webhook_name?variable1=value_1

    Somit kann ich die Mode-Werte der Thermostate in MacroDroid zwischenspeichern und die Logik in MacroDroid auslagern. Fühlt sich zwar an als würd ich mich mit der linken Zehe am rechten Ohr kratzen, aber das Speichern einer Variable funktioniert mal. Woran ich gescheitert bin in einem Webhook POST mehrere Werte zu übergeben.
    Sollte das aus CC heraus funktionieren? Also .../webhook_name?variable1=value_1&variable2=value_2
    Hab dazu leider keine Detailanleitung gefunden und das "Body" field scheint etwas buggy zu sein.

    Noch was hab ich rausgefunden, anscheinend liefert der Control Mode Sensor nur dann Werte wenn sich irgendwas am Thermostat ändert und nicht wie gedacht alle ~15min. Aber reicht für meinen Anwendungsfall vollkommen aus, da ich somit den aktuellen Status immer in der MacroDroid Variable auslesen kann.

    Wenns interessant ist, kann ich die MacroDroid Schritte noch hinzufügen, ist aber eigentlich recht einfach gelöst.

  • ChristianChristian admin Administrator, Moderator Posts: 1,682 admin

    Hallo @leiti446, klasse, danke. Ich denke, dass sich hier sehr viele über eine ganz genaue Erläuterung freuen würden. Gibt es ein Pendant für iOS?

  • leiti446leiti446 Member Posts: 8

    So geschafft :)

    Ziel:
    Heizkörper Thermostate nur im Heizungsmode "automatic" variabel vor dem tatsächlichen Heizprofil drosseln. (e.g. beim Verlassen der Wohnung, bzw. am Abend beim Schlafen gehen)


    Homematic IP:

    Heizprofil Room1:
    06:00 - 10:00 - 22 Grad
    10:00 - 17:00 - 19 Grad
    17:00 - 23:30 - 22 Grad

    Geh ich um 8:30 außer Haus, schalte die Heizung für Raum 1 bereits um 8:30 auf 19 Grad zurück (und nicht erst um 10:00). Geh ich im 22:00 schon schlafen, gehts um 22:00 schon zurück auf 19 Grad.


    Conrad Connect:
    Projekt 1: Auslesen des Heizkörper Thermostatmodes

    Sensor: Thermostat-Modus --> Actor: conradMaker

    Url: https://trigger.macrodroid.com/device_key/webhook_name
    Content-type: application/x-www-form-urlencoded
    Body: mode_variable1=mode_value_1
    Method: POST
    Benachrichtigen wenn: automatic, eco, manual


    Macrodroid:
    Macro 1: Get Homematic IP Modes
    Anleitung zum Webhook Trigger --> https://medium.com/@macrodroid/introducing-the-webhook-trigger-a760e2ee140d

    Die Variablen die du in CC über den conradMaker mitschickt musst du vorher in Macrodroid anlegen, die werden dann automatisch gesetzt und können in anderen Makros genutzt werden.
    Macrodroid Aktion bräuchte ich hier eigentlich keine, aber zum Speichern ists anscheinend mandatory, also schreib ich einfach einen Log-Eintrag. Fürs Debugging eigentlich ganz praktisch.

    Wichtig ist, der Thermostat-Modus Sensor liefert nur Events wenn sich etwas am Thermostat tut. Modeänderung, Temp. Änderung,... Wenn am Thermostat was passiert feuert er. Einmal initial befüllt, ist also der Status in Macrodroid immer aktuell.

    Macro 2: Set Temp Room 1
    Trigger: Verlassen der Funkzelle inkl. ein paar weiterer Zusatzbedingungen + nur im Mode "automatic" den ich ja jetzt in der Macrodroid Variable ausgelagert hab
    Action: HTTP GET der einen IFTTT Webhook aufruft

    Ich musste die Räume auf einzelne Makros aufteilen, da mehrere GET requests (ohne Browser) nacheinandern in Macrodroid nicht stabil laufen (über den Browser funktionierts einwandfrei, aber ist hald nervig wenn jeden Tag 2x jede Menge Browserfenster aufgehen). Dürfte ein Macrodroid Bug sein, aufgeteilt auf mehrere Makros (je IFTTT GET request) und ein Trigger Makro und es läuft wunderbar.

    Danach ists der "klassische" Weg über IFTTT Webhook und auf CC ein Projekt zum Temperatur setzen triggern und fertig.
    Für jeden Raum (weil ich unterschiedliche Temperaturen haben will) ein eigener IFTTT Webhook Trigger der zu CC durchgeschleust wird.


    Fazit:
    Etwas mühsam wenn man bedenkt, dass hier Homematic IP, Conrad Connect, IFTTT, Webhooks und Macrodroid im Spiel sind, aber es funktioniert. Netter Nebeneffekt, ich kann damit auch die Alarmanlage gleich beim Verlassen der Wohnung scharf schalten. Mit dem Speichern der States (welcher Sensoren auch immer) in Macrodroid ist man wieder sehr flexibel und kann fehlende Homematic IP Funktionalität ergänzen. Einfacher wärs natürlich wenn ich die States schon in CC speichern könnte.

    Viel Spaß, wenn jemand ähnliche Projekte vor hat...

    P.S.: Macrodroid gibts nur für Android, weiß nicht ob es eine Art "Tasker" auch für iOS gibt, denke aufgrund der Systembeschränkungen aber eher nicht.

  • ChristianChristian admin Administrator, Moderator Posts: 1,682 admin

    Hallo @leiti446, cool, danke. Werde ich nächste Woche nachstellen. Mein Verständnis ist, dass man ein Android Gerät für das initiale Setup (incl. Download der App) benötigt, im späteren Betrieb dies aber nicht zwangsläufig in Betrieb sein muss, richtig?

  • leiti446leiti446 Member Posts: 8
    edited April 14

    Hallo,
    doch, das Gerät muss dabei sein, weil "Verlassen der Funkzelle" das ganze auslöst. Geofencing könnt ich natürlich auch über IFTTT oder andere Apps machen, aber von dort hab ich dann wieder keinen Zugriff auf die Variablen die ich in Macrodroid gespeichert hab. Je nach Wert der Variable löse ich ja aus oder dann doch nicht.

    Ok stimmt doch nicht - ich könnt über IFTTT einen Webhook an mein Macrodroid Device senden und so das Macro triggen. Dann geht's auch ohne Android Gerät mit dabei zu haben, es muss hald irgendwo mit Internetverbindung ständig laufen.

    Modeänderung: Homematic IP -> CC1 -> Macrodroid1
    Haus verlassen: IFTTT1 -> Macrodroid2 | Macrodroid3 -> IFTTT2 -> CC2 -> Homematic IP

    Das is der zusätzliche Schritt "IFTTT1 -> Macrodroid2" den du brauchst um ohne Android Gerät unterwegs zu sein.

  • leiti446leiti446 Member Posts: 8

    Hallo,
    könnt ihr euch die conradMaker bitte mal ansehen, die scheinen ziemlich buggy zu sein.

    1) Sie hören nach einiger Zeit auf zu funktionieren. Projekt öffnen und speichern hilft, dann läufts wieder wie gewohnt.
    2) Ich wollte den Body ändern. Wizard öffnen - Body ändern - Anwenden - Projekt speichern (alles ohne Fehler). Wenn ich das Projekt wieder öffne und den Body kontrolliere wurde nichts geändert.
    Einzige Lösung die ich dafür bis jetzt gefunden hab conradMaker löschen und neu erstellen, aber das ist ziemlich mühsam.

    Thx, LG Stefan

  • ChristianChristian admin Administrator, Moderator Posts: 1,682 admin

    Hallo @leiti446, ich gebe dem technischen Support Bescheid, danke für die genaue Schilderung.

  • ChristianChristian admin Administrator, Moderator Posts: 1,682 admin

    @leiti446 schrieb:

    Danach ists der "klassische" Weg über IFTTT Webhook und auf CC ein Projekt zum Temperatur setzen triggern und fertig.
    Für jeden Raum (weil ich unterschiedliche Temperaturen haben will) ein eigener IFTTT Webhook Trigger der zu CC durchgeschleust wird.


    Fazit:
    Etwas mühsam wenn man bedenkt, dass hier Homematic IP, Conrad Connect, IFTTT, Webhooks und Macrodroid im Spiel sind, aber es funktioniert. Netter Nebeneffekt, ich kann damit auch die Alarmanlage gleich beim Verlassen der Wohnung scharf schalten. Mit dem Speichern der States (welcher Sensoren auch immer) in Macrodroid ist man wieder sehr flexibel und kann fehlende Homematic IP Funktionalität ergänzen. Einfacher wärs natürlich wenn ich die States schon in CC speichern könnte.

    Wie genau sieht bei dir der Rückkanal von Macdroid nach Conrad Connect aus?

  • leiti446leiti446 Member Posts: 8

    Direkt von Macrodroid komm ich nicht auf Conrad Connect, deswegen der Umweg über IFTTT.

    Macrodroid:
    Action "HTTP GET" --> https://maker.ifttt.com/trigger/...

    und in IFTTT stoß ich dann CC an. Die Temperatur ist fix in CC gesetzt, also Variablenübergabe funktioniert so nicht, aber ist für meinen Anwendungsfall auch nicht notwendig.

  • ChristianChristian admin Administrator, Moderator Posts: 1,682 admin

    Hallo @leiti446, mit POST und application/json kannst du den IFTTT Maker Channel Event Sensor in CC direkt ansprechen, ohne über IFTTT gehen zu müssen. IFTTT muss aber mit CC verknüpft sein.

  • leiti446leiti446 Member Posts: 8

    Gut zu wissen, aber das unterstützt Macrodroid momentan noch nicht. Gibt zwar schon einige Feature-Requests dazu, wurde bisher aber noch nicht umgesetzt. Momentan kann ich nur einen GET Request absetzen.

Sign In or Register to comment.