Beiträge von eich
-
-
Nur ein Ansatz (brainstorming):
Shelly 1 ist suboptimal, allenfalls könnte ein Shelly 2(.5) geeignet sein, weil dieser auch Rollläden steuern kann - ähnliches Prinzip.
Du könntest bspw. auch ein NodeMCU oder ein anderes ESP8266 Board nehmen und zwei Relais ansteuern. Prinzipiell kann man wohl auch an einen Shelly 1 ein weiteres Relais anschließen, ich bin aber ziemlich sicher, dass du das nicht willst. Und wenn der Shelly mit Netzspannung betrieben wird, schonmal gar nicht. Zwei Shelly 1 wären theoretisch möglich, aber nicht empfehlenswert, weil diese miteinander kommunizieren müssten, was mehr Unsicherheit nach sich zöge.
Empfehlung: Suche dir ein ESP8266 Board mit externer Antenne, damit die Reichweite groß genug ist! Dazu ein 5V Netzteil und evtl. einen Step down Wandler für 5V auf 3,3V. Selbstredend zwei 5V Relais - 3,3V Relais kenne ich nicht und ein Solid State Relais ist relativ kostspielig. Mit dem Hutschienen Shelly Pro habe ich keine Erfahrung. Jedenfalls wäre ein Hutschienengehäuse nicht verkehrt.
- Den ESP8266 mit Tasmota flashen - Tasmotizer ...
- Tasmota konfigurieren
- Tasmota Rules verwenden
- Ein Rule set zur Personentür aktiviert/deaktiviert das Rule set zur Torsteuerung.
- Der Rest sollte sich relativ leicht mit Rules implementieren lassen. Zur Zeitsteuerung stehen RuleTimer zur Verfügung mit einer Auflösung von 1s, Mindestdauer 2s.
- Erst einmal mit Muße, Geduld und LEDs experimentieren und auf die harte Probe stellen!
- Für den endgültigen Allein-Einsatz müssen die Taster abgeklemmt und mit dem µC (Mikrocontroller) verbunden werden.
- Die Android App MQTT Dash ist sehr gut für eine parallele Steuerung per Smartphone geeignet.
- Ich empfehle einen vorläufigen Parallelbetrieb:
Die alte Anlage vorerst bestehen lassen und die neue per Smartphone steuern - bis die Erprobung (bspw. 1/4 Jahr) gezeigt hat, dass die neue Anlage anscheinend sicher funktioniert.
-
Ist es zwingend, dass immer power2 auf power1 reagiert? Kann es nicht auch umgekehrt sein? Vielleicht besser jeweils zuerst ausschalten lassen, dann warten und das Gegenstück einschalten. Zumindest könnte ein DELAY helfen.
-
Funktionieren die Strings nicht auch in double quotes? Du könntest folgendes versuchen:
CodesendTo('sql.0', 'query', "SELECT * FROM ioBroker.PEPMicha WHERE KW = '0_userdata.0.Dienstplan.KW' ORDER BY KW", function(result)
Notfalls noch escapen.
Ich weiß momentan nicht, was Datenpunkte sind (0_userdata.0.Diensplan.KW). Dies ist vermutlich eine Hierarchie-Notation in HomeMatic oder ioBroker. Davon kenne ich nur die Namen. Falls du weißt, wie du an den Wert im Datenpunkt kommst, sollte es einfach sein:
CodesendTo('sql.0', 'query', 'SELECT * FROM ioBroker.PEPMicha WHERE KW = ' + <Zugriff auf den Datenpunktwert> + ' ORDER BY KW', function(result)
Mit einer Variablen ginge es nicht anders. Die Kernfrage ist also vermutlich: "Wie kommst du an den Wert des Datenpunktes?"
-
Jo, nimm eine Rule!
Wegen der kurzen Dauern lohnt vermutlich ein RuleTimer mit einer Auflösung von 1s nicht. Hierfür kannst du delay verwenden.
Für <x> setzt du die Nummer deines Ausgangs ein.
Wenn power<x> auf High geht, warte 2s. Dann schalte ihn auf Low.
Wenn power<x> auf Low geht, warte 1s. Dann schalte auf High.
Das wäre das Prinzip. Es wirkt allerdings endlos. Deshalb wäre es evtl. doch besser, einen RuleTimer einzusetzen, weil sich solche auf einfache Weise deaktivieren lassen.
Codeon power<x>#state=on do ruletimer1 2 endon on power<x>#state=off do ruletimer1 1 endon on rules#timer=1 do power<x> toggle endon
Zum deaktivieren:
Mit jedem Ändern von Power<x> wird das Rechteckgeneratorverhalten aktiviert.
Zum deaktivieren kannst du eine MQTT Nachricht an den µC senden:
<device> ist der MQTT topic Wert in Tasmota.
topic: cmnd/<device>/event
payload: disable
Auf der Kommandozeile und installierten Mosquitto Cients: (User, Passwort zur evtl. Authentifizierung habe ich weggelassen.)
Ansonsten gibt es hier eine sehr ausführliche Quelle: https://tasmota.github.io/docs/Rules/
Hmmm, die Zeiten für die RuleTimer passen leider nicht ganz zum gewünschten Timing, weil der RuleTimer 1s länger braucht als sein Initialwert angibt.
Es würden sich also 3s und 2s ergeben. Dann also doch die erste Lösung mit delay.
Coderule1 on power<x>#state=on do backlog delay 20;power<x> off endon on power<x>#state=off do backlog delay 10;power<x> on endon
Aktivierung/Deaktivierung:
Einsatz von mosquitto_pub s.o. entsprechend - Node-RED ist schöner.
-
Ist evtl. die zweite Lampe bereits eine LED betriebene?
ca. 70°C im Inneren des µC wären nicht ungewöhnlich.
Zitatshellies/shellyswitch25-<deviceid>/temperature
reports internal device temperature in °CAuf der Außenhaut des µC könnte die Temperatur etwas bedenklich sein.
-
Ich kann mir nicht vorstellen, dass hier PulseTime hilft. Damit ist nur die Dauer eines Einschaltens verbunden und kein Timing.
Du kannst eine Regel (Rule) verwenden.
Ich nehme mal power1 (auf) und power2 (zu) für das Schalten des Antriebs.
Irgendwo sind wohl noch Endschalter ...
Prinzip: (für 6 Minuten)
Wenn power1 auf an geht (auch wenn das Relais schon an ist), starte den RuleTimer1 mit 360s.
on power1#state=1 do ruletimer1 360 endon
Wenn der RuleTimer1 abgelaufen ist, schalte das Relais power2 ein.
on rules#timer=1 do power2 1 endon
Falls du den jeweiligen Status von power1 und power2 jederzeit lesen können willst, nimmst du einfach Variable dafür:
on power1#state do var1 %value% endon on power2#state do var2 %value% endon
Nun kannst du jederzeit per %var1% bzw. %var2% die aktuellen Zustände lesen.
Der Trigger state ist immer dann wirksam, wenn in eine Variable bzw. auf einen Ausgang geschrieben wird. Eingang weiß ich gerade nicht sicher.
Viel Erfolg
Ergänzung:
Wenn du unbedingt Pulsetime verwenden wolltest, dann müsstest du den entsprechenden Ausgang mit einem Eingang verbinden und auf die abschaltende Flanke am Eingang triggern - quasi von hinten durch die Brust in's Auge.
-
Suche zu jedem Schalter die Abzweigdose (meist oben) und versuche, dort den Shelly zu platzieren. In der Abzweigdose hast du normalerweise L, N und die Leitung vom Schalter.
-
Hallo, ich beginne erst mit der Nutzung von zunächst shelly 1 und shelly H&T. Insbesondere wegen des H&T nutze ich auch die shelly cloud. Ich halte es für ungünstig, wenn die Datenaufzeichnungen in der Cloud ausschließlich mit einem einzigen Account nutzbar sind. Schließlich wollen vermutlich viele Nutzerfamilien, also mehrere Personen mit ihren jeweiligen Geräten, diese Cloud und dieselben Geräte nutzen. Ich halte es für problematisch, wenn dann alle Beteiligten denselben Account nutzen müssen.
Gibt es bereits Absichten seitens Allterco, dieses zu ändern, also die Aufzeichnungsdaten eines Gerätes unter mehreren Accounts nutzen zu können?
Längerfristig will ich versuchen, die Daten des H&T in meinem LAN von einem Banana aufzeichnen zu lassen, was ich mit einem Selbstbauprojekt bereits erfolgreich tue. Mir hilft also keine Antwort, welche mich auf FHEM, ioBroker ... verweist. Schließlich sollte die shelly Cloud auch von Nichtbastlern nutzbar sein.