Hauptmenü

Dummy Status setzen

Begonnen von chemicalman, 26 Dezember 2015, 02:33:34

Vorheriges Thema - Nächstes Thema

chemicalman

Hallo zusammen,

erst einmal Herzlichen Glückwunsch zum Forum. Hier habe ich schon einiges hilfreiches gelesen.

Ich habe ein Problem mit dem setzen einen Status für nen Dummy, oder vielleicht habe ich auch einfach das Prinzip noch nicht verstanden und laufe gerade in die falsche Richtung.
Bin für jeden Tip oder jede bessere Idee (als Meine aktuelle) dankbar.

Hier nun mein Problem / meine Situation:
Ich möchte einen Dummy sowohl über FHEM als auch über externe Hardware (Arduino) schalten und den status setzen.

Also, ich habe einen Dummy angelegt und per notify mit "event-on-change-reading" dafür gesorgt, dass für Statusänderungen per notify ein script ausführen welches dann den Arduino Steuer.
Soweit klappt alles -- will heißen ich kann schon innerhalb von FHEM ein externes Relais (Stromstoßschalter) steuern.
Nun möchte ich auch noch von extern "Arduino" den status des Dummys ändern können, denn es gibt auch noch externe Schalter.

Ich habe es per xhr request mit "setstate" probiert, aber dann klappt mein "event-on-change-reading" nicht mehr weil sich das scheinbar nur auf den state der readings auswirkt und "setstate" per her nur den state in internals setzt. Wenn ich per xhr ein "set" schicke, löse ich aber wieder mein o.g. script aus.

Wie kann ich das Problem lösen?
Habe ich mich verständlich ausgedrückt?
Braucht Ihr mehr/andere Infos?

Vielen Dank

Klaus

viegener

Ich versuche mal zu beschreiben was ich verstanden habe:

Du hast einen Arduino, der ein Stromstossrelais ansteuert.
Dieser Arduino ist auch mit externen Schaltern versehen, die daselbe (?) Relais schalten

Es gib einen Dummy der den Status des Relais widerspiegeln soll und wenn Du in FHEM den Status änderst, wird ein event erzeugt zu dem es ein notify gibt, dass entsprechend den Arudino triggert, dass das Relais geschaltet werden soll.

Du möchtest nun, dass der dummy in FHEM den Status des Relais widergibt, auch wenn extern an den Schaltern geschaltet wurde.
Bisher wird durch Deinen notify aber eine Schleife erzeugt --> Arduino meldet Umschaltung von externem Schalter an FHEM, Dummy status verändert sich und der darauffolgende event wird wieder alsÄnderung an den Arduino gesendet und dann unerwünscht wird nochmals geschaltet?

Ist das so korrekt?
- Ich vermute auf dem Arduino läuft ein Sketch von Dir?
- Der Arduino ist auch per Netz (WLAN oder Ethernet) mit FHEM verbunden?


Wenn das so stimmt, könntest Du ja im Dummy eindeutige Stati hinterlegen, die zwar immer noch eine Schleife auslösen, der Arduino wüsste dann aber, dass der Status bereits erreicht ist und könnte den notify ignorieren?
Beispiel: Arduino schaltet das Relais auf ON, meldet ON an FHEM, Dummy-NOtify wird ausgelöst meldet ON an Arduino, Arduino hat aber schon Status ON und ignoriert den notify?



Kein Support über PM - Anfragen gerne im Forum - Damit auch andere profitieren und helfen können

Ellert

Du müsstest die Rückkopplung unterbinden, in dem die externen Schalter den Dummy setzen und der Dummy über notify den Arduino steuert.