Themabewertung:
  • 0 Bewertung(en) - 0 im Durchschnitt
  • 1
  • 2
  • 3
  • 4
  • 5
Shelly HT in eine Logik einbinden
#1
Hallo, 

da ich keine Gekko eigene Sensoren habe, nutze ich zur Überwachung der Temp. und Luftfeuchte den Shelly HT. Nun würde ich gern mit einer Logic folgendes realisieren, dass wenn die Luftfeuchte unter 35% sinkt, dann eine Steckdose eingeschaltet wird.
Leider habe ich bis jetzt keine Möglichkeit gefunden die internen Sensor-Werte als Bedingung in eine Logic zu setzten.

Hat jm. eine Idee?

VG Sergej
#2
Hallo,
 
 
ich hatte vor einer Weile ein Thread erstellt warum ein Shelly HT nicht mehr so zuverlässig via API abgefragt werden kann.
>>>HIER<<<
 
Du kannst natürlich die Shellys via API ins Gekko integrieren, jedoch kann und wird es passieren dass der Gekko das Abfragen des Wertes aufgrund des kurzen Zeitfensters des Shellys nicht immer schafft. Jedenfalls bei den aktuelleren Firmwareversionen des Shellys. 

Zur Veranschaulichung des  "Fenster" hier nochmal ein Screenshot eines Dauerpings auf einen Shelly HT. Die 3 Antworten stellen den Zeitraum da, indem der Gekko die Chance hat Daten ab zugreifen.
 

.png   1.png (Größe: 15,03 KB / Downloads: 55)




Beispiel Szenario:
 
Der Schwellwert gerät unter 35% deine Steckdose schaltet. Wenn der zweite Schwellwert überschritten wird, bei dem der Shelly wieder abschalten soll, bekommt dein Gekko dies vermutlich nicht mit und die Steckdose bleibt geschalten. Oder die Steckdose wird gar nicht erst eingeschalten, da die erste Schwelle nicht registriert wurde.
Beides ist mir bei der Beheizung des Terrariums passiert. Ebenfalls Shelly HT und eine Schaltbare Steckdose. Im Großen und Ganzen zu unzuverlässig für eine Automatisierung.
 
 
Wie habe ich das jetzt gelöst?
 
Mittels NodeRed, MQTT und diversen Sicherheitsfunktionen die einen Ausfall der Einzelkomponenten abfangen.
 
 
Ich beginne mal mit einer einfachen Sicherheitsfunktion - AUTO OFF Shelly 
Dies bezieht sich auf  ein Szenario indem ein Shelly die Steckdose schaltet. 
Sollte deine Steckdose anders, also nicht durch einen Shelly, geschalten werden ist dies auch via Logik möglich die maximal AN Schaltzeit zu definieren.
 
Die Funktion AUTO OFF zählt einen Timer runter, nachdem der Shelly angeschalten wurde. s.H. du kannst damit die maximale Einschaltzeit deiner Steckdose definieren. Somit verhinderst du das die Steckdose geschalten bleibt obwohl der Gekko sie ausschalten würde, aber den aktuellen Feutigkeitswert nicht mitbekommen hat. 
 
WICHTIG
Szenarioabhänig kann es erforderlich sein das der Wert größer sein muss als die maximale benötigte Zeit, um die Dinge zu tun die getan werden sollen. 
Sonst läufst das Ganze in einen nicht definierten Zustand. 
Gekko will noch das der Shelly an ist, aber extern wurde er bereits abgeschalten.
 
   
 

 
Die anderen Sicherheitsfunktionen sind nur mit NodeRed und MQTT realisierbar. 
Ich würde dir diese Lösung mit MQTT und NodeRed auch ans Herz legen, da es eine definitive Übermittlung der Werte ans Gekko sicherstellt.
Das Ganze ist aufwendiger und etwas komplizierter. Diese hier zu erklären führt aber erstmal zu weit und würde den Beitrag sprengen.
 

Jetzt der Teil von den ich dir abrate es so zu machen, wegen der angesprochenen Unzuverlässigkeit. Die Konfiguration als API Abfrage seitens des Gekkos
 
 
 
Die Inputs im Gekko definieren 
 
 
   
 
 
   
 
 
 
Hier mal die 3 Abfragen für Temperatur, Feuchtigkeit und optional Batterie. Alle 3 sind INPUT Abfragen. Ob du die Batterie benötigst liegt bei dir. 
Wenn man natürlich eine externe Stromversorgung verwendet macht es wenig Sinn. 
Mit dem Wert der Batterie kann man sich im Gekko bei einem bestimmten Prozentwert erinnern lassen die Batterie zu wechseln.
 
Typ:                                  Get- INPUT 
Read Int:                            0
Request On:                       [IP deines Shelly]/Status
Request Off / Parameter:     JSON@tmp.value
 
Typ:                                  Get- INPUT 
Read Int:                            0
Request On:                       [IP deines Shelly]/Status
Request Off / Parameter:     JSON@hum.value
 
Typ:                                  Get- INPUT 
Read Int:                            0
Request On:                       [IP deines Shelly]/Status
Request Off / Parameter:     JSON@bat.value
 
 
Hier mal ein Beispiel, anhand einer Analyse, wie du mit den erstellten Inputs umgehen könntest.
Genauso kannst du jetzt die Inputs auch bei einer Logik oder den Feuchtigkeitswert direkt in deinem Raum einbinden. [Raumregelung]
 
 
   

   

   


Mit dem Wissen kannst du deine Logik erstellen oder andere Dinge machen :-)



Ich will es nochmal betonen, dass es sein kann das der Gekko das Zeitfenster des Shellys schlicht weg verpasst und gegeben falls die Steckdose nicht aus- oder einschaltet. Also auf eigene Gefahr.
An oder Aus … Geht oder geht nicht … Strom fließt oder nicht ... 1 oder 0 ....  [Bild: dodgy.png]
#3
Hallo Strabbit,

erstmal vielen Dank für den input durch deine Screenshots. NodeRed habe ich nicht, irgendwie bin ich zu blöd die Flows zu erstellen bzw. die Geräte einzubinden.

Bzgl. der Shelly HT muss ich dir widersprechen. Du stellst bei dem Pkt. Stromversorgung einfach auf "extern" - trotz Batteriebetrieb. Der Shelly gibt dann engmaschig und regelmäßig die Werte weiter. Dann habe ich die Aufweckphasen bei Temp. Und Luftfeuchtigkeitswertänderungen auf 0,5 Grad bzw. 1% gestellt, sodass die Zusammenarbeit zw. Shelly und Gekko gut fkt.

VG Sergej
#4
(02.04.2020, 17:42)sklunk schrieb: Hallo Strabbit,


Bzgl. der Shelly HT muss ich dir widersprechen. Du stellst bei dem Pkt. Stromversorgung einfach auf "extern" - trotz Batteriebetrieb. Der Shelly gibt dann engmaschig und regelmäßig die Werte weiter. Dann habe ich die Aufweckphasen bei Temp. Und Luftfeuchtigkeitswertänderungen auf 0,5 Grad bzw. 1% gestellt, sodass die Zusammenarbeit zw. Shelly und Gekko gut fkt.

VG Sergej

Wenn du bei der Stromversorgung auf extern stellst meldet sich der Shelly aller 10 Minuten unabhängig von einer Veränderungsmeldung. Im Batteriemodus meldet er sich aller 60min. Dadurch verändert sich jedoch nicht die Dauer des Zeitfenster der einzelnen Meldungen. 
Du zwingst den Shelly einfach nur sich öfters zu melden. Abgesehen von den Meldungen welche durch Statusänderungen erzeugt werden, entstehen somit 120 zusätzlich Zeitfenster mehr als im Batteriemodus pro Tag.
Das beseitigt nicht das Problem sondern erhöht nur die Wahrscheinlichkeit einer Werteübermittlung.


Hier mal ein Beispielbild. Bei 1 hat der Gekko keine neue Wertaktualisierung über "längeren" Zeitraum erhalten. Sieht man schön daran das die Linie gerade ist. Bei 2 hatte ich ihn umgestellt auf MQTT und somit eine garantierte Werteübermittlung sichergestellt habe. 

   



Wenn dein Gekko später mal mehr zu tun hat, als nur die Shellys HTs abzufragen, kann es dir immer noch passieren das Zeitfenster auch mehrmals verpasst werden. Das war bei mir der Fall als ich 3 HTS und 20 Shellys konfiguriert hatte. Und diverse andere Aufgaben beeinträchtigen den Gekko natürlich in seiner Auslastung. 

Deine Einstellung trotz Batterie auf extern zu stellen erhöht somit die Chance das die zwei (Gekko und Shelly), sich treffen, jedoch auf Reduzierung der Batterielebendsdauer. 
Würde dir dafür das günstig Hardware-Upgrade für eine externe Stromversorgung empfehlen. Wie du sicher weist sind die Batterien ziemlich teuer.



(02.04.2020, 17:42)sklunk schrieb: NodeRed habe ich nicht, irgendwie bin ich zu blöd die Flows zu erstellen bzw. die Geräte einzubinden.


Ich kannte NodeRed und MQTT bis zu dieser Problematik gar nicht. Die Flows kann ich dir zur Verfügung stellen. Du müsstest halt aber erstmal einen Raspberry PI installieren und MQTT und NodeRed zum laufen bringen. dafür gibt es aber genügend Anleitungen im Internet.



Wie gesagt du trägst ja die Verantwortung für deine Konfiguration. Ich wollte dich nur darauf aufmerksam machen. Was du daraus machst ist deine Entscheidung :-) 


Gruß

Kleiner Nachtrag.


Hab eine Weile suchen müssen, aber hier mal das Problem welches mich zum Umbau bewegt hat.

   


Der Shelly HT hatte die Steckdose, mit der Heizmatte angeschalten weil es im Terrarium zu kühl geworden war. Danach hatte der Gekko das Zeitfenster von 20:00 Uhr bis zum nächsten Tag 11:00 Uhr nicht mehr getroffen und die Heizmatte somit auch nie einen Abschaltbefehl erhalten,da der Logik nie mitgeteilt wurde das die Temperatur erreicht sei.Resultat. Mehrer Bewohner haben die Temperatur über diesen Zeitraum nicht überstanden. 


Bis dahin lief das ganze auch ohne Probleme 2 Wochen mittels API-Abruf. Kurz vorher hatte ich ein Update auf die HT Shellys installiert. Der Hersteller hatte in diesem Update die Dauer des Zeitfensters verringert, um somit eine höhere Lebendsdauer der Batterie zu erreichen.
An oder Aus … Geht oder geht nicht … Strom fließt oder nicht ... 1 oder 0 ....  [Bild: dodgy.png]
#5
Hi Strabbit,
danke für dein Angebot bzgl. der Flows- ich komme darauf zurück.

VG Sergej


Möglicherweise verwandte Themen...
Thema Verfasser Antworten Ansichten Letzter Beitrag
  Gibt es eine Anleitung für das Verhalten Steckdosen / Geräte? sanya 0 458 12.10.2020, 11:48
Letzter Beitrag: sanya

Gehe zu:


Benutzer, die gerade dieses Thema anschauen:
1 Gast/Gäste