FHEM Forum

FHEM - Anwendungen => Beleuchtung => Thema gestartet von: trickster444 am 11 Juni 2017, 13:18:45

Titel: HUE Kaltweiss beim Start an Siemens S7 über notify
Beitrag von: trickster444 am 11 Juni 2017, 13:18:45
Hallo ich habe folgendes Problem,

ich will das meine HUE mit 4000k starten und nicht mit 2700K wenn ich sie über die Siemens SPS einschalte. Ich habe es geschafft das die Lampen eingeschaltet werden und dann auf die richtige Lichtfarbe wechseln. Leider kann ich dann die Farben nicht mehr per Handyapp wechseln, da Notify ja immer auf :on von SPS Ausgang "A_Licht_Wohn_Wand" schaut. Wer kann mir einen Tip geben.

define LichtK4000 notify A_Licht_Wohn_Wand:on set HUEgoup1 rgb ECEEFF

MFG Eric
Titel: Antw:HUE Kaltweiss beim Start an Siemens S7 über notify
Beitrag von: MadMax-FHEM am 11 Juni 2017, 14:19:30
Hi Eric,

ich kenne ja jetzt das SIMATIC in fhem nicht aber es wird da doch wohl ein Modul geben!?

Beim definierten Gerät (A_Licht_Wohn_Wand ? ) mal event-on-change-reading entsprechend setzen, dann sollte nur noch ein Event kommen, wenn die SIMATIC von off nach on usw. schaltet, also nur ein Event bei Änderung.

Dann sollte das Notify auch nur getriggert werden, wenn der Zustand wechselt und nicht mehr immer "dazwischen funken"!?

Gruß, Joachim
Titel: Antw:HUE Kaltweiss beim Start an Siemens S7 über notify
Beitrag von: justme1968 am 11 Juni 2017, 14:21:23
das on event kommt noch nur ein mal beim einschalten und nicht dauernd oder? hast du event-on-change-reading beim ausgang passend gesetzt?

gruss
  andre

ps: warum setzt du rgb wenn du eigentlich color setzen willst ?
Titel: Antw:HUE Kaltweiss beim Start an Siemens S7 über notify
Beitrag von: trickster444 am 12 Juni 2017, 15:48:04

So ich habe das mit dem rgb geändert auf "color 4000" was deutlich eleganter ist.

A_Licht_Wohn_Wand:on set HUEGroup0 color 4000 : bri 254

Das Problem besteht aber immer noch, da "A_Licht_Wohn_Wand" immer ON ist. Erst wenn der Ausgang geschaltet ist bekommen die HUE Lampen Spannung. Dann schauen sie immer ob der Ausgang ON ist und setzten dann die Farbe 4000K. Gibt es eine Möglichkeit nur nach 0,5s nach dem Einschalten auf den Status zu schauen und danach nicht mehr.

Gruss ERIC
Titel: Antw:HUE Kaltweiss beim Start an Siemens S7 über notify
Beitrag von: justme1968 am 12 Juni 2017, 15:57:56
der aktuelle status ist nicht relevant und nachschauen nicht effizient. fhem ist event gesteuert. mit einem notify reagierest du auf dieses event. damit das event nur bei einer echten zustandsänderung kommt musst du wie oben geschrieben das event-on-change-reading attribut passend setzen. im event kannst du mit einem fhem sleep verzögern wenn du das brauchst.

wenn das mit event-on-change-reading attribut aus irgend einem grund nicht geht kannst du mit FILTER= z.b. nur dann schalten wenn die lampe noch aus ist. siehe devspec in der commandref. hier kannst du das power reading zum filtern verwenden. mir event-on-change-reading ist das aber nicht nötig.

gruss
  andre
Titel: Antw:HUE Kaltweiss beim Start an Siemens S7 über notify
Beitrag von: trickster444 am 19 Juni 2017, 20:42:10
Hallo justme1968,

ich dachte dieser Befehl wäre es aber es klappt nicht.

attr A_Licht_Wohn_Wand event-on-change-reading :on set HUEGroup0 color 4000 : bri 254

Der Befehl soll nachdem sich "A_Licht_Wohn_Wand" die HUE Lampen auf die Farbe 4000k ändern.

FHEM bringt keine Fehlermeldung aber ich sehe auch links keinen neuen Eintrag. Richtig klick gemacht hat es noch nicht mit FHEM.

Trickster444
Titel: Antw:HUE Kaltweiss beim Start an Siemens S7 über notify
Beitrag von: justme1968 am 19 Juni 2017, 20:54:30
ich weiss nicht was genau deine zeile tun soll...

aber du musst das attribut im device setzen das die events erzeugt. und der parameter ist eine regex für den/die reading namen. das hat weder mit dem notify noch mit dem kommando zu tun.

schau noch mal in die commandref und hier: https://wiki.fhem.de/wiki/Event-on-change-reading (https://wiki.fhem.de/wiki/Event-on-change-reading).

gruss
  andre
Titel: Antw:HUE Kaltweiss beim Start an Siemens S7 über notify
Beitrag von: trickster444 am 09 Juli 2017, 09:08:44
Hallo,
ich habe jetzt folgendes versucht:


defmod Wohn_Wand_Kalt S7_DRead flags 66.0  --> ich schaue nach dem flag (Merker) 66.0
attr Wohn_Wand_Kalt IODev mySPS
attr Wohn_Wand_Kalt event-on-change-reading state    --> schaue nach ob hat sich etwas geändert hat
attr Wohn_Wand_Kalt room Wohnzimmer
attr Wohn_Wand_Kalt:on set HUEGroup0 color4000:bri 254    --> wenn Wohn_Wand_Kalt = 1 dann schalte bitte die HUE auf 4000K und Helligkeit 254

Leider meckert FHEM bei dem letzten attr " Please define Wohn_Wand_Kalt:on first"
was ist falsch an der Eingabe :on set ?

Trickster
Titel: Antw:HUE Kaltweiss beim Start an Siemens S7 über notify
Beitrag von: MadMax-FHEM am 09 Juli 2017, 09:20:32
Fhem meckert weil der Befehl:

attr Wohn_Wand_Kalt:on egalwasjetztkommt

Eben das Attribut egalwasjetztkommt beim Gerät Wohn_Wand_Kalt:on zu setzen...

Das Setzen eines Attributes löst noch lange keinen Befehl aus...

Ich habe nicht genau verstanden was du mit dem Setzen der ganzen Attribute willst...

Eigentlich sollte wie ganz oben beschrieben die Aufgabe mit einem Notify auf "Simatic schaltet Licht ein" und darin ein set der Hue auf was immer dir gefällt doch reichen...

Gruß, Joachim
Titel: Antw:HUE Kaltweiss beim Start an Siemens S7 über notify
Beitrag von: trickster444 am 09 Juli 2017, 09:57:06
Hallo Joachim,

mit dem Befehl: define A_Licht_Wohn_Wand:on set HUEGroup0 color 4000 : bri 254
wird die HUE auf 4000k geschaltet, sobald "A_Licht_Wohn_Wand" = 1 ist. Leider ist "A_Licht_Wohn_Wand" immer = 1 wenn die Lampe eingeschaltet ist.
Also aktuell funktioniert es so, das ich die Lampe einschalte und sie mit 4000k leuchtet, das Problem ist aber das ich sie dann nicht mehr mit der HUE App umschalten kann, da "A_Licht_Wohn_Wand" immer = 1 ist.

Ich dachte das es damit funktionieren würde, wenn ich mit event-on-change nur auf den Signalwechsel schaue und dann einmal auf 4000k wechsel.

defmod Wohn_Wand_Kalt S7_DRead flags 66.0  --> ich schaue nach dem flag (Merker) 66.0
attr Wohn_Wand_Kalt IODev mySPS
attr Wohn_Wand_Kalt event-on-change-reading state    --> schaue nach ob hat sich etwas geändert hat
attr Wohn_Wand_Kalt room Wohnzimmer
attr Wohn_Wand_Kalt:on set HUEGroup0 color4000:bri 254    --> wenn Wohn_Wand_Kalt = 1 dann schalte bitte die HUE auf 4000K und Helligkeit 254


Gruss ERIC
Titel: Antw:HUE Kaltweiss beim Start an Siemens S7 über notify
Beitrag von: justme1968 am 09 Juli 2017, 10:02:00
Zitatmit dem Befehl: define A_Licht_Wohn_Wand:on set HUEGroup0 color 4000 : bri 254
wird die HUE auf 4000k geschaltet, sobald "A_Licht_Wohn_Wand" = 1 ist. Leider ist "A_Licht_Wohn_Wand" immer = 1 wenn die Lampe eingeschaltet ist.
das glaube ich nicht. das ist kein gültiges kommando.
und das:attr Wohn_Wand_Kalt:on set HUEGroup0 color4000:bri 254auch nicht.

ich sehe weder ein notify noch den oben vorgeschlagenen FILTER.

bitte geh noch mal langsam und schrittweise vor und versuch zu verstehen was du machst.

gruss
  andre
Titel: Antw:HUE Kaltweiss beim Start an Siemens S7 über notify
Beitrag von: MadMax-FHEM am 09 Juli 2017, 19:23:30
Hi,

wie lange läuft fhem bei dir bereits?
Wieviel hast du mit fhem schon umgesetzt?

Also in fhem gibt es Devices/Geräte (nehme an deine SIMATIC hat auch irgendeine "Gegenstelle" in fhem)...
Mit dem Setzen von Attributen kann man Geräte "beinflussen" bzw. gewisse "Einstellungen vornehmen"...

Z.B. das bereits genannte Attribut "event-on-change-reading" welches einem Gerät/Device "sagt", für welche Werte/Readings nur bei echter Änderung ein Event kommen soll oder halt immer, wenn z.B. das "dahinterliegende" echte/physische Gerät einen Wert schickt, selbst wenn der den selben Wert wie zuvor hat...

Beispielsweise senden meine Fensterkontakte alle 3 Minuten den Zustand und jedesmal erzeugt das fhem-Gerät einen Event, auch wenn das Fenster schon seit Stunden offen ist...
Mit event-on-change-reading kann ich nun "einstellen", dass nur noch ein Event kommt, wenn das Fenster von auf nach zu und umgekehrt geht...
Wie das genau geht (bzw. für dein "fhem Gerät" beispielsweise für das SIMATIC Dingens) steht in der commandref (wie praktisch alles zu fhem) und wurde bereits weiter oben von Andre verlinkt...

Wenn sich Dinge ändern, dann feuern die Geräte/Devices Events.
Diese kann man sich im EventMonitor (Link in FHEMWEB) anschauen...
...und dort auch Filter einstellen um so nur bestimmte Events zu sehen...

Mit Notify (oder DOIF) kann man auf solche Events "reagieren"...
...und dann entweder direkt irgendwelche Befehle absetzen oder (was ich meist mache) eine Funktion/Sub in myUtils aufrufen, dort dann weitere Dinge abprüfen (z.B. Werte abfragen: ReadingsVal/ReadingsNum) und dann ebenfalls Befehle absetzen (z.B. deine HUE steuern)...

So im ganz groben laufen die meisten Dinge in fhem...
(gut nur ein kleiner Auszug aber für deine [aktuelle] Problematik ausreichend)

Nun einfach in die commandref und schauen wie die einzelnen Dinge funktionieren...

Viel Erfolg, Joachim
Titel: Antw:HUE Kaltweiss beim Start an Siemens S7 über notify
Beitrag von: trickster444 am 07 August 2017, 09:36:39

Hallo,

Problem ist gelöst und ich wollte nur abmelden was das Problem war.

Beim lesen des Merkers aus der S7 war der Wert hinter "flags" auf 1 gesetzt, damit hat FHEM in einem DB gesucht und nicht nach dem Merker 66.2. Nachdem der Wert auf 1 gesetzt war hat auch die Kommunikation S7 <--> FHEM funktioniert. Der richtige Syntax lautet:

defmod M_Licht_2000k S7_DRead flags 0 66.2


Danach war das Problem das das die Lichtfarbe nie auf richtiges Weiss geschaltet wurde, das lag daran, das ich in dem HUE Befehl noch die Sättigung mit eingebunden hatte. rgb ECEEFF : sat 254 : bri 254
Nachdem ich alles so wie unten geändert hatte, funktioniert alles. Über WinCC lässt sich nun die Farbe der HUE Leuchten auswählen.

defmod Bunt_Wohn notify M_Licht_2000k:on set HUEGroup0 rgb ECEEFF : bri 254

Vielen Dank an das Forum für die Unterstützung.


Trickster444