HUE Kaltweiss beim Start an Siemens S7 über notify

Begonnen von trickster444, 11 Juni 2017, 13:18:45

Vorheriges Thema - Nächstes Thema

trickster444

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

MadMax-FHEM

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
FHEM PI3B+ Bullseye: HM-CFG-USB, 40x HM, ZWave-USB, 13x ZWave, EnOcean-PI, 15x EnOcean, HUE/deCONZ, CO2, ESP-Multisensor, Shelly, alexa-fhem, ...
FHEM PI2 Buster: HM-CFG-USB, 25x HM, ZWave-USB, 4x ZWave, EnOcean-PI, 3x EnOcean, Shelly, ha-bridge, ...
FHEM PI3 Buster (Test)

justme1968

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 ?
hue, tradfri, alexa-fhem, homebridge-fhem, LightScene, readingsGroup, ...

https://github.com/sponsors/justme-1968

trickster444


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

justme1968

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
hue, tradfri, alexa-fhem, homebridge-fhem, LightScene, readingsGroup, ...

https://github.com/sponsors/justme-1968

trickster444

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

justme1968

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.

gruss
  andre
hue, tradfri, alexa-fhem, homebridge-fhem, LightScene, readingsGroup, ...

https://github.com/sponsors/justme-1968

trickster444

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

MadMax-FHEM

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
FHEM PI3B+ Bullseye: HM-CFG-USB, 40x HM, ZWave-USB, 13x ZWave, EnOcean-PI, 15x EnOcean, HUE/deCONZ, CO2, ESP-Multisensor, Shelly, alexa-fhem, ...
FHEM PI2 Buster: HM-CFG-USB, 25x HM, ZWave-USB, 4x ZWave, EnOcean-PI, 3x EnOcean, Shelly, ha-bridge, ...
FHEM PI3 Buster (Test)

trickster444

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

justme1968

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
hue, tradfri, alexa-fhem, homebridge-fhem, LightScene, readingsGroup, ...

https://github.com/sponsors/justme-1968

MadMax-FHEM

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
FHEM PI3B+ Bullseye: HM-CFG-USB, 40x HM, ZWave-USB, 13x ZWave, EnOcean-PI, 15x EnOcean, HUE/deCONZ, CO2, ESP-Multisensor, Shelly, alexa-fhem, ...
FHEM PI2 Buster: HM-CFG-USB, 25x HM, ZWave-USB, 4x ZWave, EnOcean-PI, 3x EnOcean, Shelly, ha-bridge, ...
FHEM PI3 Buster (Test)

trickster444


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