NEWS
Sonoff durch iQontrol und auch durch App schalten lassen
-
Hi!
Ich war mir nicht ganz sicher, in welchem Bereich mein Thema am besten aufgehoben ist, ich hoffe das passt hier.
Ich habe ca. 20 Sonoff-Steckdosen, die über die Samsung SmartThings App in ioBroker eingebunden sind. Meine Familie nutzt dafür die SmartThings App oder Alexa, um sie zu schalten.
Nun möchte ich in iQontrol auf einem Tablet die Steckdosen anzeigen und schalten können. Normalerweise bräuchte ich dafür drei Kacheln pro Steckdose: eine für den Status und je einen Button für „AN“ und „AUS“. Das funktioniert, ist mir aber zu unübersichtlich. Ich will das Ganze auf eine einzige Kachel reduzieren.
Problem:
In iQontrol kann ich pro Kachel nur ein Element (STATE) hinterlegen, das auf Klick gesteuert wird. Wenn ich einfach den Status der Steckdose verwende, kann ich zwar sehen, ob die Steckdose an oder aus ist, aber nicht per Klick umschalten, weil der Status-Parameter nur lesbar ist.Meine Idee:
Ich lege ein „Trigger-Objekt“ an, das ich auf die Kachel lege und das den Status der Steckdose immer aktualisiert. Ein Klick auf die Kachel schaltet das Trigger-Objekt um (von AN zu AUS oder umgekehrt), und ein Skript setzt entsprechend den Status auf die Steckdose (AN oder AUS).Das Problem:
Sobald jemand die Steckdose extern (z.B. über Alexa) schaltet, wird der Status auf AN oder AUS gesetzt. Mein Skript erkennt die Änderung und setzt das Trigger-Objekt entsprechend, was dann die Steckdose erneut schaltet. Das Ergebnis: die Steckdose geht in einen Loop AN-AUS-AN-AUS usw.Was ich bisher versucht habe:
Ich habe schon mit Zeitverzögerungen und zusätzlichen Variablen für Zeitstempel gearbeitet, um zu erkennen, ob der Trigger von extern kam oder durch die Kachel ausgelöst wurde. Bisher führt das aber nur zu neuen Problemen und löst den Loop nicht.Falls ihr Ideen habt, wie ich das in eine einzige Kachel bekomme oder ob ich mit zusätzlichen Elementen oder Schleifen arbeiten sollte, freue ich mich über eure Tipps!
-
-
@paul53 An den eigentlichen Steckdosen gibt es jeweils einen Datenpunkt, für ON & OFF der für die jeweilige Aktion kurz aktiviert werden muss, damit die Steckdose an/aus schaltet. Anschließend wird durch den Adapter dann der (Smartthings) status gesetzt, den man abfragen kann. Ich will mit meinem toggle (der passend zum Smartthings status dann true oder false bleibt) den entsprechend richtigen Smartthings Datenpunt (an/aus) aktivieren, um die Lampe an/aus zu schalten, was dann wiederum den status verändert.
Wenn man in einem Alias auch ein Programm ausführen kann, wäre das wohl ein Schritt in die richtige Richtung.Hier das Trigger-Objekt das ich a) zur Anzeige des Status und b) auch zum Schalten der Lampe via Script nutze
Hier der Alias für den nur-lese Status des Adapters:
EDIT:
Ich hab mal gerade bei dir geschaut und denke, du hast da schonmal genau die Lösung gepostet. Ich arbeite komplett mit Blockly und wenn ich das auf meine Belange adaptiere, könnte das schon die Lösung sein.
-
@wofried sagte: jeweils einen Datenpunkt, für ON & OFF der für die jeweilige Aktion kurz aktiviert werden muss
Wenn es zwei Button sind, benötigt man ein Skript, das den jeweiligen DP beim Schalten des eigenen Datenpunktes "esszimmer.licht.toggle" aktiviert.
Das Kommando "esszimmer.licht.toggle" und der Status können in einem Alias für die Visualisierung verknüpft werden (unterschiedliche ID für Lesen und Schreiben). -
@wofried sagte in Sonoff durch iQontrol und auch durch App schalten lassen:
In iQontrol kann ich pro Kachel nur ein Element (STATE) hinterlegen, das auf Klick gesteuert wird.
sagt wer? anscheinend hast du dich mit iQ nicht wirklich beschäftigt, geschweige mit alias.
-
@da_woody Doch habe ich, aber vermutlich nicht richtig. Aber du scheinst es ja zu wissen.
Wärst du dann so freundlich und würdest hier konstruktiv dein Wissen teilen? Oder soll ich mich jetzt auf die Suche machen und hoffen dass ich das herausfinde was du schon weißt?
-
@paul53 Ah OK, das probiere ich aus. vielleicht komme ich damit schon weiter. Danke!
-
@wofried sagte: das probiere ich aus.
Du kannst auch den eigenen Datenpunkt "esszimmer.licht.toggle" für die Visualisierung im Zusammenhang mit folgenden Skript verwenden:
"Licht" = "esszimmer.licht.toggle"
-
@wofried sagte in Sonoff durch iQontrol und auch durch App schalten lassen:
@da_woody Doch habe ich, aber vermutlich nicht richtig. Aber du scheinst es ja zu wissen.
Wärst du dann so freundlich und würdest hier konstruktiv dein Wissen teilen? Oder soll ich mich jetzt auf die Suche machen und hoffen dass ich das herausfinde was du schon weißt?
es gibt auch einen iQ support tread... https://forum.iobroker.net/topic/52077/iqontrol-vis-support-thread
fängt für mich mal an, daß du 2 states für on/off in deinem alias hast. warum nicht den sonoff adapter, statt dem smartthing zeugs? seit kurzem einen samsung eiskasten. das ding macht mich mit den DPs wahnsinnig.
sonoff steckdose in iQ:
dose_iqontrol_0_devices.json
du kannst auch einige sachen in einer kachel kombinieren. z.b. meine infraheizung:
heiz_iqontrol_0_devices.json
mach dir eine testansicht und importiere die beispiele. -
Cool! Erstmal besten Dank für die Tipps und auch das Skript. Damit werde ich das garantiert hinbekommen.
@da_Woody Ich hab meine Sonoff S26 nicht mit der Tasmota Firmware geflasht und somit habe ich leider auch die MQTT Funktion nicht. Die Dinger sind teilweise echt schlecht zu erreichen und ich habe mich schon vor ein paar Jahren dagegen entschieden alle einzusammeln, aufzumachen und zu flashen. Der iobroker.sonoff Adapter braucht aber MQTT, leider also keine Lösung für mich, wenn auch eine deutlich bessere als die mit Smartthings.
Aber egal, ich komme mit eurer Lösung nun bestimmt klar. Nach und nach tausche ich meine Smarthome Devices eh gegen Shelly aus, und habe da dann auch MQTT, läuft also so oder so schon auf meinem iobroker.
-
@wofried ja, mit shelly ist das leben leichter. 91 stk lügen nicht.
btw, Sascha hat immer wieder gute angebote: https://shellyparts.de/