[G E L Ö S T] Funktion einschalten

Begonnen von kblc, 25 Oktober 2017, 10:55:09

Vorheriges Thema - Nächstes Thema

kblc

Hallo ich habe eine kurze Frage, nachdem mir Commandref nicht weiter helfen konnte.

Folgendes:
Ich habe ein Notify programmiert. Das soll über den Floorplan schaltbar gemacht werden. Aber wie mach ich das?

Folgendes habe ich bereits:
dummy_fuer_Floorplan = der dummy der auf dem Floorplan erscheint um die Funktion/das notify an oder aus zu schalten

define dummy_fuer_Floorplan dummy
attr dummy_fuer_Floorplan webCmd on:off

define Lichtaus_HM_HochtischlichtNotify notify Lichtaus:on set HM_Hochtischlicht off
attr Lichtaus_HM_HochtischlichtNotify disale


Kann mir jemand helfen und sagen, was ich hinter disable schreiben muss, damit ich das über den Floorplan dummy schaltbar machen kann?

Herzlichen Dank für jede Hilfe

KBLc
SPS, Arduino, Controllino, Sensortechnik, Elektronik

MadMax-FHEM

Dein notify muss schon auf den Dummy "lauschen"...

Mal den EventMonitor öffnen und auf dem Floorplan-Dummy "rumklicken" und schauen was kommt und dann den notify entsprechend "bauen".

define Lichtaus_HM_HochtischlichtNotify notify dummy_fuer_Floorplan:on set HM_Hochtischlicht off

ungetestet (evtl. auch dummy_fuer_Floorplan:.on siehe EventMonitor)

Evtl. noch:

attr dummy_fuer_Floorplan setList on off

attr Lichtaus_HM_HochtischlichtNotify disale

gibt es nicht...
...und wenn du disable setzt, dann wird es wohl nicht funktionieren...

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)

MadMax-FHEM

Bzw. was soll "lauschen" auf 'on' und dann 'off' zu schalten?

Willst du toggeln?!

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)

Beta-User

@Joachim, ich glaube, es soll etwas anderes erreicht werden, als mit dem Dummy direkt zu schalten, das ist nur ein Merker für "notify ist aktiv und soll schalten" bzw. "inaktiv/deaktiviert".

Dazu zwei Anmerkungen:

1. Du kannst das Aktivieren/Deaktivieren auch direkt für das notify als webCmds per Attribut vergeben, besser als disable sollte das aber m.E. active/inactive sein (siehe commandref zu notify).

2. Wenn das per Dummy gemacht werden soll, würde ich nicht das notify ein- und ausschalten (wg. des roten ?), sondern gleich im notify den Status mit abfragen, also nur schalten, wenn der Dummy on ist...
Kleine Einstiegshilfe in die Programmierung (aus der commandref zu notify):
Zitat
define n2 notify piri:on { if($hour > 18 || $hour < 5) { fhem "set light on" } }
Value(<devicename>)
gibt den Status eines Gerätes zurück (entsprechend dem Ausdruck in Klammern, den Sie beim List-Befehl sehen).
Server: HP-elitedesk@Debian 12, aktuelles FHEM@ConfigDB | CUL_HM (VCCU) | MQTT2: ZigBee2mqtt, MiLight@ESP-GW, BT@OpenMQTTGw | ZWave | SIGNALduino | MapleCUN | RHASSPY
svn: u.a Weekday-&RandomTimer, Twilight,  div. attrTemplate-files, MySensors

kblc

Dankeschön, das hat mir schon mal alles weitergeholfen. Ich freue mich immer, wenn ich wiederkam neues dazu lernen darf.

Was ich nun gemacht habe:

Zitat von: Beta-User am 25 Oktober 2017, 11:27:38
1. Du kannst das Aktivieren/Deaktivieren auch direkt für das notify als webCmds per Attribut vergeben, besser als disable sollte das aber m.E. active/inactive sein (siehe commandref zu notify).

Das mit active/inactive ist eine sehr gute Sache, die ich völlig übersehen habe. Vielen Dank für den Hinweis.

Jetzt läuft alles so wie ich es haben möchte.

Danke

KBLc
SPS, Arduino, Controllino, Sensortechnik, Elektronik

Beta-User

Schön, dass das geklappt hat, commandref studieren ist eigentlich immer eine gute Idee ;) .

Willst du kurz den fertigen code posten und dann den Thread noch auf "[gelöst]" setzen? (Anleitung: siehe link in meiner Signatur)
Server: HP-elitedesk@Debian 12, aktuelles FHEM@ConfigDB | CUL_HM (VCCU) | MQTT2: ZigBee2mqtt, MiLight@ESP-GW, BT@OpenMQTTGw | ZWave | SIGNALduino | MapleCUN | RHASSPY
svn: u.a Weekday-&RandomTimer, Twilight,  div. attrTemplate-files, MySensors

kblc

Ja gerne.

Hier meine Lösung:

ich hoffe ich habe alles richtig gemacht, denn 100%ig verstanden habe ich nicht alles. Aber es geht.
define LichtausNotifyNotifyON notify Lichtaus_Floorplan:on set LichtausNotify active
define LichtausNotifyNotifyOFF notify Lichtaus_Floorplan:off set LichtausNotify inactive


genau das macht was ich will.

Vielen Dank nochmal. Das ist einfach genial.

KBLc
SPS, Arduino, Controllino, Sensortechnik, Elektronik

Beta-User

Nochmal ein paar Anmerkungen:

-Tread: [gelöst]?

- Devices einsparen mit webCmd, das notify müßte dann direkt auf dem Floorplan zur Anzeige eingebunden werden:
attr LichtausNotify devStateIcon inactive:ios-off:active active:ios-on-blue:inactive
attr LichtausNotify webCmd active:inactive


- Alternativ sollte auch ein einziges notify auf den Dummy reichen (ungetestet!):
define LichtausNotifyNotify notify Lichtaus_Floorplan:(on|off) {
            fhem("set LichtausNotify " . ($EVENT eq "on" ? "active" : "inactive") );
}
Kann man natürlich auch mit IF oder einem ausgeschriebenen perl-if machen...
Server: HP-elitedesk@Debian 12, aktuelles FHEM@ConfigDB | CUL_HM (VCCU) | MQTT2: ZigBee2mqtt, MiLight@ESP-GW, BT@OpenMQTTGw | ZWave | SIGNALduino | MapleCUN | RHASSPY
svn: u.a Weekday-&RandomTimer, Twilight,  div. attrTemplate-files, MySensors

kblc

Warum ist es wichtig Devices einzusparen? Spare ich damit Energie oder Ressourcen vom Raspberry Pi oder der jeweiligen Plattform?

Denn dann hätte ich viel zum einsparen. Ich habe nämlich fast für jedes Gerät einen Dummy als Merker. Da ich vom SPS-Bereich komme, arbeite ich gerne mit Merkern.

Ich werde mir die Anmerkungen ansehen und ausprobieren. Vielen leiben Dank dafür.

KBLc
SPS, Arduino, Controllino, Sensortechnik, Elektronik

Beta-User

Devices einsparen ist nicht wirklich wichtig, aber wenn es sich einfach vermeiden läßt, kommt es mir schlicht übersichtlicher vor. Energie usw. dürfte es jedenfalls nicht merklich verbraten.

Nur wenn es dich interessiert:
Das mit den dummy-Merkern für einzelne Gerätezustände kann man umgehen, indem man entsprechende userattr setzt, die werden dann auch direkt bei den Geräten angezeigt. Das ist m.E. funktional gleich, aber man sieht es dann bei einem list zum "eigentlichen" Gerät dann auch direkt dort und muß nicht hin- und herspringen.

Ich habe nur noch wenige Dummy-Devices (Urlaub, Ferien, Gästezimmerbelegung), den Rest habe ich durch userattr ersetzt.

Viel Erfolg jedenfalls,

Beta-User
Server: HP-elitedesk@Debian 12, aktuelles FHEM@ConfigDB | CUL_HM (VCCU) | MQTT2: ZigBee2mqtt, MiLight@ESP-GW, BT@OpenMQTTGw | ZWave | SIGNALduino | MapleCUN | RHASSPY
svn: u.a Weekday-&RandomTimer, Twilight,  div. attrTemplate-files, MySensors

kblc

Freilich, solche Hinweise und Informationen interessieren mich immer.
Dankeschön.

KBLc
SPS, Arduino, Controllino, Sensortechnik, Elektronik