Werte vergleichen

Hallo,

ich habe heute Conrad Connect entdeckt und war anfangs sehr begeistert. Nun versuche ich gerade eine ganz einfache Funktion umzusetzen und habe keinen Plan wie...

Folgende Sensoren sind eingebunden:

  • Honeywell Evohome - Aktuelle Temperatur "Arbeitszimmer_current_temperature_1"
  • Wetter - Aktuelle Temperatur "temperature_1"

Ich möchte jetzt einfach eine Email bekommen, wenn die aktuelle Außentemperatur kleiner oder gleich der Temperatur im Arbeitszimmer ist.

Hintergrund ist: Ich möchte benachrichtigt werden, sobald es sich im Sommer lohnt Abends die Fenster zum Lüften zu Öffnen. Ich würde das dann später noch verfeinern (Sommer, Temperatur, Uhrzeit), aber erstmal muss die Basisfunktion laufen.

Es wäre sehr nett, wenn mir da jemand helfen könnte.

Comments

  • ChristianChristian Administrator, Moderator Posts: 1,420 admin

    Hallo @Sefiroth, schaue bitte hier.

  • SefirothSefiroth Member Posts: 3

    Hallo @Christian,

    danke für die Antwort. Den Beitrag hatte ich auch schon gesehen und konnte es für meinen Fall anpassen. Aber ich muss jetzt für die Temperaturen 20 bis 25 Grad dafür 5 Projekte (10, falls ich eine Auflösung von 0,5°C möchte) anlegen. Das ist ausgesprochen umständlich von der Wartung her, falls später doch noch ein Fehler behoben werden muss oder eine Erweiterung nötig ist.

    Ich habe bei mir zudem jetzt das Problem, dass ich eine Speicher-Variable benötige, damit die ganzen Einzelprojekte nicht nacheinander auslösen, wenn die Bedingungen erfüllt sind. Das "einmal pro Tag" hilft mir da ja nicht, da es eigenständige Projekte für jede Temperaturschwelle sind. Ich habe mich da jetzt beholfen, dass ich die Soll-Temperatur des Thermostats als globale Variable zweckentfremde. Aber das empfinde ich ziemlich albern...

    Sind denn Werte-Vergleiche irgendwie geplant? Oder Speichervariablen?

    Ich finde es merkwürdig, dass die meisten dieser Automatisierungssysteme (Conrad Connect, IFTTT, ...) eigentlich total super aufgebaut sind und ein riesen Potential haben, aber es dann nicht schaffen Funktionen umzusetzen, die ich mit 5 Zeilen C-Code hätte...

  • ChristianChristian Administrator, Moderator Posts: 1,420 admin

    Hallo @Sefiroth, vermutlich könnte man die Kaskaden über ein ODER zusammenführen und ganz am Ende auf dem Level des Nachrichten-Aktors die Ausführungshäufigkeit beschränken. Zum Thema Speichervariable schau gern hier oder hier. Eine konkrete Automatisierung auf dieser Basis kann man hier einsehen. Dieser Service ist jedoch eher simpel gestrickt. Alternativ könntest du dir Apilio anschauen.

  • SefirothSefiroth Member Posts: 3

    Apilio kannte ich noch nicht - danke für den Tipp. Aber leider basieren die auf IFTTT und IFTTT kann von meinen Honeywell Evohome Thermostaten nicht die Raumtemperatur auslesen :-( Dort gibt es nur die Option die Solltemperatur zu setzen. Daher war ConradConnect so interessant für mich, weil ich hier mehr Zugriff auf meine Thermostate habe.

    Generell verstehe ich ja, dass es nicht unbedingt einfach ist solche Sonderwünsche zu bedienen. Aber wenn man immer mehr Workarounds und Kniffe einführen muss, um Nutzerwünsche realiseren zu können, dann stimmt doch mit dem Systemkonzept etwas nicht. Lösungen mit externen Diensten wie Switchur als Wertespeicher sehe ich skeptisch. Je mehr ich einbinden muss, desto schwerer ist das System zu Warten. Und es wird auch anfälliger für Ausfälle, falls irgendwas bei Switchur passiert. Und wenn ich eine meiner teuren Steckdosen als Variablenspeicher missbrauchen muss (die ich dann irgendwo anstecken muss, aber eigentlich nicht sinnvoll nutzen kann), dann scheint mir der Dienst nicht geeignet zu sein. Es geht ja auch darum, Kunden zu gewinnen und zu halten. In meinem Fall bräuchte es "nur" einen Vergleichsblock (mit: größer, größergleich, kleiner, kleinergleich), dem ich die beiden Temperatur-Variablen übergebe und dann ein True oder False erhalte. Das würde mir 5-10 Projekte sparen und ich wäre sehr glücklich.

    Ich bin ja erst kurz hier dabei und weiß nicht, wie oft und schnell Updates gebracht werden. Aber in den Tagen hier habe ich sehr schnell in den Fragestellungen den Bedarf nach folgenden Blöcken gesehen:

    • Zeitpunkt-Sensor: Löst zu einer ganz bestimmten Uhrzeit aus (auch wenn es erstmal nur auf eine Viertelstunde genau ist)
    • Vergleichs-Block: Bekommt zwei Variablen übergeben und vergleicht die Zahlenwerte (Temperatur, Luftfeuchtigkeit, ...) und gibt ein True/False aus
    • Speicher-Block: Wie eine virtuelle Steckdose, die ein- oder ausgeschaltet werden kann. Im ersten Step würde es wohl genügen, wenn diese nur innerhalb eines Projektes verfügbar ist. Besser wäre natürlich, wenn man sie global hätte. Aber über einen ConradConnect eigenen Dienst, der nicht von anderen Einflüssen abhängig ist.
    • Rücksetzbarer DelaySensor: Ein Sensor, der auch durch ein Signal wieder abgebrochen werden kann. Für das klassische "Fenster offen"-Problem. Wird das Fenster vor Ablauf der Zeit wieder geschlossen, darf der DelaySensor keinen Trigger weitergeben. Könnte man so umsetzen, dass der Eingang True/False-Sensitiv ist und wenn sich das Signal ändert, wird der DelaySensor nicht weiter ausgeführt und wieder auf Null gesetzt. Der aktuelle Delay Block wird ja nur auf True oder False getriggert und läuft dann eigenständig weiter.
    • Script Block: Das wäre für mich als Programmierer natürlich ein Traum, wenn ich einen Block mit eigenem Code füllen könnte.

    Und dann zu sagen "Aber es gibt doch Lösungen dafür" ist meiner Meinung nach der falsche Weg. Das wirkt auf mich dann so, als gäbe es keine Kapazität, Lust oder finanzielle Mittel das System weiter zu entwickeln. Was echt schade wäre, da CC für mich bisher das System mit dem größten Potential ist. Bitte dranbleiben ;-)

  • ChristianChristian Administrator, Moderator Posts: 1,420 admin

    Hallo @Sefiroth, danke für das ausführliche Feedback, ich gebe das gern weiter. Conrad Connect als auch IFTTT sind als Plattformen stateless, um sie informationstechnisch schlank zu halten. Apilio dürfte direkt mit Conrad Connect zusammenarbeiten a) triggere von CC dorthin via Conrad Maker und b) umgekehrt (von Apilio nach CC) nutzt du den IFTTT Maker Chanel Event als Sensor in CC. Dafür muss IFTTT zwar mit CC verbunden sein, es wird am Ende aber nicht wirklich benötigt.

Sign In or Register to comment.