FHEM Forum

FHEM => Automatisierung => Thema gestartet von: UweUwe am 02 Juni 2022, 19:46:32

Titel: Mein erster Watchdog
Beitrag von: UweUwe am 02 Juni 2022, 19:46:32
Ich möchte eine Pumpe, die über ein 4 fach Switch angesteuert wird, nach 3 Minuten automatisiert abschalten.


define AussenWasseraus_DreiMinuten watchdog Wasser:ChannelWasserAussen:on  00:03:00 Wasser:ChannelWasserAussen:off set Wasser:ChannelWasserAussen off
attr  Aussenwasseraus_DreiMinuten autoRestart 1


Das List dem Kanal Wasser:ChannelWasserAussen sieht folgendermassen aus:

Internals:
   DEF        37D4A502
   FUUID      5e3991e2-f33f-813e-593b-9a0ae1fbeb1c7748
   NAME       ChannelWasserAussen
   NR         82
   NTFY_ORDER 48-ChannelWasserAussen
   STATE      off
   TYPE       CUL_HM
   chanNo     02
   device     4fach
   disableNotifyFn 1
   READINGS:
     2022-06-02 19:10:19   CommandAccepted yes
     2020-02-04 16:49:50   R-powerUpAction off
     2020-02-04 16:49:50   R-sign          off
     2021-09-23 09:43:35   RegL_01.        00:00 08:00 30:06 56:00 57:24
     2022-06-02 19:10:19   commState       CMDs_done
     2022-06-02 19:10:19   deviceMsg       off (to virtualCCU)
     2022-06-02 19:10:19   level           0
     2022-06-02 19:10:19   pct             0
     2022-06-02 19:10:19   recentStateType ack
     2022-06-02 19:10:19   state           off
     2022-06-02 19:10:19   timedOn         off
     2022-06-02 19:10:19   trigLast        fhem:02
   helper:
     dlvlCmd    ++A01112105937D4A50202000000
     peerFriend peerSens,peerVirt
     peerIDsState complete
     peerOpt    3:switch
     regLst     1,3p
     cmds:
       TmplKey    :no:1653556566.41114
       TmplTs     1653556566.41114
       cmdKey     1:0:0::4fach:0003:02:
       cmdLst:
         clear      [({msgErrors}|msgEvents|rssi|attack|trigger|register|oldRegs|readings|all)]
         getConfig  noArg
         getRegRaw  (List0|List1|List2|List3|List4|List5|List6|List7) [-peerChn-]
         inhibit    [(on|{off})]
         off        noArg
         on         noArg
         on-for-timer -ontime-
         on-till    -time-
         peerBulk   -peer1,peer2,...- [({set}|unset)]
         peerIODev  [IO] -btn- [({set}|unset)] 'not for future use'
         press      [(long|{short})] [(-peer-|{self02})] [(-repCount-|{0})] [(-repDelay-|{0.25})]
         regBulk    -list-.-peerChn- -addr1:data1- [-addr2:data2-]...
         regSet     [(prep|{exec})] -regName- -value- [-peerChn-]
         sign       [(on|{off})]
         statusRequest noArg
         toggle     noArg
         tplDel     -tplDel-
         tplSet_0   -tplChan-
       lst:
         condition  slider,0,1,255
         peer       
         peerOpt   
         tplChan   
         tplDel     
         tplPeer   
       rtrvLst:
         cmdList    [({short}|long)]
         deviceInfo [({short}|long)]
         list       [({normal}|full)]
         param      -param-
         reg        -addr- -list- [-peerChn-]
         regList    noArg
         regTable   noArg
         regVal     -addr- -list- [-peerChn-]
         saveConfig [-filename-]
         tplInfo    noArg
     expert:
       def        1
       det        0
       raw        1
       tpl        0
     peerIDsH:
       00000000   broadcast
     role:
       chn        1
     tmpl:
Attributes:
   DbLogExclude .*
   alexaName  Wasser
   alias      Wasser
   genericDeviceType switch
   model      HM-LC-SW4-DR
   peerIDs    00000000
   room       A-Wasser
   webCmd     statusRequest:toggle:on:off


Ich versuche dies über Codimport einzufügen und bekomme die Fehlermeldung:

Please define Aussenwasseraus_DreiMinuten first

Wenn ich aber nachschaue in FHEM, so wurde das Modul erzeugt. Hier das list. Was mache ich falsch`?

Internals:
   CFGFN     
   CMD        set Wasser:ChannelWasserAussen off
   DEF        Wasser:ChannelWasserAussen:on  00:03:00 Wasser:ChannelWasserAussen:off set Wasser:ChannelWasserAussen off
   FUUID      6298f69a-f33f-813e-a229-0f627c6db22658d8
   NAME       AussenWasseraus_DreiMinuten
   NR         27376
   NTFY_ORDER 50-AussenWasseraus_DreiMinuten
   RE1        Wasser:ChannelWasserAussen:on
   RE2        Wasser:ChannelWasserAussen:off
   STATE      defined
   TO         180
   TYPE       watchdog
Attributes:
   DbLogExclude .*






Titel: Antw:Mein erster Watchdog
Beitrag von: MadMax-FHEM am 02 Juni 2022, 19:51:20
Warum per watchdog?

Warum nicht per on-for-timer?
Hat der Aktor doch bestimmt?

Dann läuft der Timer IM Aktor und schaltet auch aus, selbst wenn fhem irgendwie "steckt" oder das Funksignal nicht ankommt...

Was meinst du mit "Code-Import"?

RawDef? Dann musst du statt define ein defmod nehmen...

EDIT: das "set Wasser:ChannelWasserAussen off" ist doch Unfug!? Das set für off ist doch eher "set ChannelWasserAussen off" / auch die RegExp im watchdog ist doch so nicht richtig, oder? Außerdem: watchdog funktioniert doch so: es kommt ein Ereignis (Event, bei dir müsste ein Event "Wasser:ChannelWasserAussen:on" kommen der müsste ja von einem Device "Wasser" kommen, gibt es das? Dann wartet watchdog auf ein anderes Ereignis, in deinem Fall auf "Wasser:ChannelWasserAussen:off" [wiederum vom Device "Wasser"] und wenn das nicht kommt, dann wird der Befehl ausgeführt). Du willst doch keinen watchdog? Oder willst du etwas überwachen (=watchdog). Sondern "nur" nach einer Zeit wieder ausschalten? -> at oder sleep oder eben on-for-timer...
https://wiki.fhem.de/wiki/Watchdog

EDIT: u.U. kann man bei dem Aktor (da Homematic) sogar eine onTime setzen, dann geht er immer nach der Zeit aus, egal wer wie wo einschaltet... Auch per Alexa kann man ein o-for-timer machen, mittels homebridgeMapping... Also man sagt: "Alexa schalte Wasser ein" und dann wird statt on eben ein on-for-timer an den Aktor gesendet...

Gruß, Joachim
Titel: Antw:Mein erster Watchdog
Beitrag von: DetlefR am 02 Juni 2022, 20:15:13
Mal abgesehen von dem was MadMax-FHEM richtigerweise geschrieben hat.

Irgendjemand hat hier in seiner Signatur "Ich bin für konsequente kleinschreibung" und das ist auch gut so.
AussenWasseraus_DreiMinuten  != Aussenwasseraus_DreiMinuten
:-[
Titel: Antw:Mein erster Watchdog
Beitrag von: MadMax-FHEM am 02 Juni 2022, 20:19:30
Zitat von: DetlefR am 02 Juni 2022, 20:15:13
Mal abgesehen von dem was MadMax-FHEM richtigerweise geschrieben hat.

Irgendjemand hat hier in seiner Signatur "Ich bin für konsequente kleinschreibung" und das ist auch gut so.
AussenWasseraus_DreiMinuten  != Aussenwasseraus_DreiMinuten
:-[

Ja klar, dann kann das mit dem Setzen des Attributes ja nicht klappen ;) :D

Was man so alles übersehen kann ;)

Gruß, Joachim
Titel: Antw:Mein erster Watchdog
Beitrag von: betateilchen am 02 Juni 2022, 20:47:53
Zitat von: UweUwe am 02 Juni 2022, 19:46:32
Ich möchte eine Pumpe, die über ein 4 fach Switch angesteuert wird, nach 3 Minuten automatisiert abschalten.

Da es sich laut list um ein Homematic device handelt, könnte man auch einfach die Einschaltdauer per Register entsprechend auf 180 Sekunden setzen.

Ein watchdog ist aber für das, was Du da vorhast, in meinen Augen ein totaler Holzweg.

ZitatWenn ich aber nachschaue in FHEM, so wurde das Modul erzeugt. Hier das list. Was mache ich falsch`?

Es wird höchstens ein device erzeugt, aber nie im Leben ein Modul. Diesen Unfug hatten wir doch diese Woche schonmal? https://forum.fhem.de/index.php/topic,127849.msg1223395.html#msg1223395

Er wird nicht dadurch richtig, dass Du ihn permanent wiederholst.
Titel: Antw:Mein erster Watchdog
Beitrag von: UweUwe am 02 Juni 2022, 23:10:08
Hallo Joachim,
vielen Dank für deine konstruktive Kritik, finde ich immer sehr wertvoll.

on-for-timer hatte ich schon in der Auswahl. Hab ich auch getestet, und hat auch jeweils 1 x funktioniert ( set on..) , dann war das Attribut on-for-timer) in der Geräte spec weg. Und ich hab keinen Weg gefunden, dies wieder daraufhaft eimzurichten.

on-for-timer <sekunden>
Das Gerät wird per "on" eingeschaltet, und ein interner Zeitgeber wird erstellt, um nach <sekunden> ein "off" Kommando auszuführen. Um diesen Zeitgeber zu entfernen sollte man das Kommando mit dem Argument 0 erneut aufrufen. Achtung: dieser Zeitgeber wird bei einem restart nicht gespeichert.

ZitatWas meinst du mit "Code-Import"?
Doku beschriebene Verfahren "Codeimport" zu prüfen und dann einzufügen. Ja, RAW Definition wird es auch genannt. ==> ich werde in diesen Fällen defmod benutzen. Den Hintergrund kenne ich nicht.

ZitatEDIT: das "set Wasser:ChannelWasserAussen off" ist doch Unfug!? Das set für off ist doch eher "set ChannelWasserAussen off" / auch die RegExp im watchdog ist doch so nicht richtig, oder? Außerdem: watchdog funktioniert doch so: es kommt ein Ereignis (Event, bei dir müsste ein Event "Wasser:ChannelWasserAussen:on" kommen der müsste ja von einem Device "Wasser" kommen, gibt es das? Dann wartet watchdog auf ein anderes Ereignis, in deinem Fall auf "Wasser:ChannelWasserAussen:off" [wiederum vom Device "Wasser"] und wenn das nicht kommt, dann wird der Befehl ausgeführt). Du willst doch keinen watchdog? Oder willst du etwas überwachen (=watchdog). Sondern "nur" nach einer Zeit wieder ausschalten? -> at oder sleep oder eben on-for-timer...

Ja ich habe ein Device "Wasser", aber das device Wasser ist der alias von ChannelWasserAussen, damit verstehe ich "set ChannelWasserAussen off". Mein Fehler, war nicht gut.

RegExp im watchdog, es gibt 2 Regexp:
RegExp1: Wasser:ChannelWasserAussen:on, gleiches Thema mit alias : müsste richtig heissen: ChannelWasserAussen:on
Regexp2: Wasser:ChannelWasserAussen:off, gleiches Tg´hema mit alias: müsste richtig heissen:  ChannelWasserAussen:off

on-for-timer ist sicherlich der elegante Weg,, ich werde ihn auch implementieren, sobald ich weiss, wie ich die 180 Sekunden immer als max. behalten kann. Aber watchdog ermöglicht mir dieselbe Funktion, umständlicher, etc. Ich sehe hier auch die Möglichkeit, den Befehl zu verstehen. Man erlaube mir deshalb , auch eine Lösung mit watchdag auszudenken

Hab jetzt alle Inputs eingearbeitet und folgende Lösung :

defmod AussenWasseraus_DreiMinuten watchdog ChannelWasserAussen:on  00:03:00 ChannelWasserAussen:off set ChannelWasserAussen off
attr  AussenWasseraus_DreiMinuten autoRestart 1
attr AussenWasseraus_DreiMinuten room A-Wasser
attr AussenWasseraus_DreiMinuten alias Schaltet die Pumpe für das Aussenwasser nach 3 Minuten automatisch aus.


Hab auch schon mal getestet. Der Watchdag sollte tun, was ich will, aber ich warte auf euren Input zu on-for-timer

Danke..













Titel: Antw:Mein erster Watchdog
Beitrag von: MadMax-FHEM am 02 Juni 2022, 23:28:11
on-for-timer ist doch kein Attribut?

Das ist ein setter, neben on.

Also set ChannelWasserAussen on-for-timer 180 statt set ChannelWasserAussen on und dann wieder durch watchdog off...

Und: bei Homematic läuft on-for-timer IM Aktor! Also selbst wenn du fhem nach dem on-for-timer ausschaltest/stoppst schaltet der Aktor aus...

D.h. überall wo jetzt ein set ChannelWasserAussen on abgesetzt wird einfach ein on-for-timer :)
Wie geschrieben geht auch per Sprache: homebridgeMapping 8)

Oder (wie betateilchen und ich auch schon erwähnt haben): einfach die max. on-Zeit IM Aktor -> entspr. Register auf 180s setzen. Dann geht der Aktor IMMER nach 180s aus.
(mit get regList bekommst du alle möglichen Register und mit get regTable die aktuellen Werte)

Also du kannst ganz normal set ChannelWasserAussen on absetzen und der Aktor geht von alleine nach 180s aus.

Aber wenn es für dich tut und du unbedingt so ein eigenartiges Konstrukt willst: feel free, dein System... ;)

EDIT: setter kann man doch ganz einfach am Device "ablesen". Also das was bei set am Device geht, geht ;) Und so wie es dann dort "zu lesen ist" heißt auch das Komando. Da kann man doch gar nicht auf "set alias:Device on" kommen ;) Und wie die Events aussehen geht ganz einfach, in dem man den Eventmonitor öffnet. Dann kommt man bei RegEx auch nicht auf dieselbe Idee "alias:Device:on" ;)

Zitat
Doku beschriebene Verfahren "Codeimport" zu prüfen und dann einzufügen. Ja, RAW Definition wird es auch genannt. ==> ich werde in diesen Fällen defmod benutzen. Den Hintergrund kenne ich nicht.
War ja hier nicht das Problem (da hab ich mich getäuscht), sondern eben die falsche Schreibweise. Einmal mit Großbuchstabe beim define des Device und dann mit Kleinbuchstabe beim Setzen (oder dem Versuch ;)  ) des Attributes. Dabei "mosert" fhem natürlich, dass es das Device, zu welchem du das Attribut setzen wolltest nicht gibt. Allerdings steht bei RawDef immer defmod. Weil man dabei nicht nur neue Devices anlegen kann/könnte (define) sondern auch anlegen (wenn nicht vorhanden) oder verändern kann (->defmod)...

Gruß, Joachim
Titel: Antw:Mein erster Watchdog
Beitrag von: UweUwe am 03 Juni 2022, 21:50:09
Hallo Joachim,

ich habe folgendes verstanden:

Fall 1 Ich gebe individuelle setter Befehle:

Ich gebe dem Kanal (ChannelWasserAussen) nicht die Eigenschaft, dass er max. 3 Minuten eingeschaltet ist, egal woher der setter kommt, sondern sage dem Kanal bei jedem "settern", ob er nun "on" gehen soll oder "on-for-timer". Der Abschalten geschieht bei Homebridgemodulen vom device selbst, nicht vom FHEM aus.
Ich muss damit meine bisher definierten FHEM Anweisungen darauf durchgehen, natürlich nur für ChannelWasserAussen.

Fall 2 Register des devices setzen. das meinte ich mit Attribute und interessiert mich sehr

Hab mal für mein device die "getlist" angeschaut und tue mir schwer, hier das richtige Register zu verwenden.
Es gibt unterschiedliche descriptions "on time special:unused" : lgOnTime, shOnTime , also kurzer und langer Tastendruck (sh, lg). Ich hab aber gar keine Taste . Muss ich dann beide Register setzten?

set ChannelWasserAussen regSet shOnTime 180  set ChannelWasserAussen regSet lgOnTime 180 ?

Fall 3 homebridgemapping   (interessiert mich sehr)

Hab in der Doku  (homebridge-fhem) folgendes gefunden:
directly (automatically) supports:  switches (devices with set on and set off commands)

(Mein 4 fach switch müsste also direkt unterstützt werden, aber was bedeutet dies?) Wie sage ich dem Schalter, dass er spätestens nach 180 sec aufhören soll.

Fall 4 Ich verwende watchdog.

Das habe ich implemtiert und scheint zu funktionieren :

defmod AussenWasseraus_DreiMinuten watchdog ChannelWasserAussen:on  00:03:00 ChannelWasserAussen:off set ChannelWasserAussen off
attr  AussenWasseraus_DreiMinuten autoRestart 1
attr AussenWasseraus_DreiMinuten room A-Wasser
attr AussenWasseraus_DreiMinuten alias Schaltet die Pumpe für das Aussenwasser nach 3 Minuten automatisch aus.











Titel: Antw:Mein erster Watchdog
Beitrag von: MadMax-FHEM am 03 Juni 2022, 22:09:33
1. ja überall statt on ein on-for-timer zumindest da wo es eben nach einiger Zeit wieder ausgehen soll. Läuft bei Homematic nicht im Modul (fhem) sondern im Gerät also tatsächlich in der Homematic-HW. Bitte etwas mehr drauf achten wie du etwas schreibst/bezeichnest, sonst ist es schwer...


2. Ja, Einstellung im Register!! Nix Attribut! (siehe oben: Ausdrücke bitte) Auch das läuft dann autark im Homemtic Gerät und zwar egal von wo/wie eingeschalten wurde. Ausnahme: gepeerte Schalter/Taster, für die kannst du es meist/immer separat einstellen.

Poste doch mal ein komplettes get ChannelWasserAussen regList oder regTable bzw. hat das Gerät/Device doch 4 Kanäle?

Ist das das Haupt-Device oder bereits einer der Kanäle?

Ich habe zwar Homematic aber nicht das konkrete Gerät.
Bei mir gibt es ein OnTime, mein Gerät hat aber auch nur einen Kanal/Hauptdevice.

Bei dir reicht verm. das shOnTime, da du ja keinen echten Taster/Schalter verbaut hast.
Aber ohne mehr Info: schwer was genaues zu sagen.

Und (wie so oft): was spricht gegen ausprobieren? Mittels get regTable die Werte abrufen, merken und bei Nichtgefallen wieder herstellen. Bzw. gibt es per hminfo (denke ich) auch eine Möglichkeit Register etc. abzuspeichern.


3. homebridgeMapping, ein Beispiel:


On=state,valueOn=on,valueOff=off,cmdOn=on-for-timer+1800,cmdOff=off


D.h. ich sage: "Alexa schalte Blablabla ein" und das Gerät schaltet dann ein und nach 1800s wieder aus. Bei Homematic läuft auch das im Homematic Gerät.


4. Watchdog: wenn es für dich passt ;) (gleiches würde mit einem notify genauso gehen, weil ja der watchdog nur "entschärft" würde, wenn ein off-Befehl von irgendwo kommen würde, bevor der watchdog "zuschlägt". Bzw. dein watchdog schlägt eben immer zu. Würde ein notify auf ChannelWasserAussen:on sleep 1800; set ChannelWasserAussen off genauso tun ;)  )

Gruß, Joachim
Titel: Antw:Mein erster Watchdog
Beitrag von: UweUwe am 03 Juni 2022, 22:40:21
Hallo Joachim,

danke für die Antworten, das hilft sehr weiter.


ZitatPoste doch mal ein komplettes get ChannelWasserAussen regList oder regTable bzw. hat das Gerät/Device doch 4 Kanäle?

Ist das das Haupt-Device oder bereits einer der Kanäle?

Ich habe zwar Homematic aber nicht das konkrete Gerät.
Bei mir gibt es ein OnTime, mein Gerät hat aber auch nur einen Kanal/Hauptdevice.

Bei dir reicht verm. das shOnTime, da du ja keinen echten Taster/Schalter verbaut hast.
Aber ohne mehr Info: schwer was genaues zu sagen.

Und (wie so oft): was spricht gegen ausprobieren? Mittels get regTable die Werte abrufen, merken und bei Nichtgefallen wieder herstellen. Bzw. gibt es per hminfo (denke ich) auch eine Möglichkeit Register etc. abzuspeichern.

Das Hauptdevice hat 4 Kanäle, alle Kanäle  für unterschiedliche Dinge belegt. Einer dieser Kanäle ist der ChannelWasserAussen. Die übrigen 3 Kanäle möchte ich nicht auf eine Einschaltzeit begrenzen. Nur den ChannelWasserAussen.

Hier das regtable des ChannelWasserAussen:

ist:         register | range              | peer     | description
   1: powerUpAction    |     literal        |          | on: simulate short press of peer self01 (self02 if dual buttons) after power up options:off,on
   1: sign             |     literal        |          | signature (AES) options:on,off
   1: statusInfoMinDly | 0.0 to 15.5s       |          | status message min delay special:unused
   1: statusInfoRandom |   0 to 7s          |          | status message random delay
   1: transmitTryMax   |   1 to 10          |          | max message re-transmit
   3: lgActionType     |     literal        | required |  options:off,jmpToTarget,toggleToCntInv,toggleToCnt
   3: lgCtDlyOff       |     literal        | required | Jmp on condition from delayOff options:between,ltLo,geHi,outside,geLo,ltHi
   3: lgCtDlyOn        |     literal        | required | Jmp on condition from delayOn options:ltLo,between,geHi,outside,geLo,ltHi
   3: lgCtOff          |     literal        | required | Jmp on condition from off options:ltLo,between,geLo,outside,geHi,ltHi
   3: lgCtOn           |     literal        | required | Jmp on condition from on options:ltHi,outside,geHi,geLo,between,ltLo
   3: lgCtValHi        |   0 to 255         | required | Condition value high for CT table
   3: lgCtValLo        |   0 to 255         | required | Condition value low for CT table
   3: lgMultiExec      |     literal        | required | execution per repeat message options:off,on
   3: lgOffDly         | 0.0 to 111600s     | required | off delay
   3: lgOffTime        | 0.0 to 111600s     | required | off time special:unused
   3: lgOffTimeMode    |     literal        | required | off time meant absolut or at least options:minimal,absolut
   3: lgOnDly          | 0.0 to 111600s     | required | on delay
   3: lgOnTime         | 0.0 to 111600s     | required | on time special:unused
   3: lgOnTimeMode     |     literal        | required | on time meant absolut or at least options:minimal,absolut
   3: lgSwJtDlyOff     |     literal        | required | Jump from delayOff options:dlyOn,on,no,dlyOff,off
   3: lgSwJtDlyOn      |     literal        | required | Jump from delayOn options:on,dlyOn,dlyOff,off,no
   3: lgSwJtOff        |     literal        | required | Jump from off options:no,dlyOff,off,dlyOn,on
   3: lgSwJtOn         |     literal        | required | Jump from on options:on,dlyOn,dlyOff,off,no
   3: shActionType     |     literal        | required |  options:off,jmpToTarget,toggleToCntInv,toggleToCnt
   3: shCtDlyOff       |     literal        | required | Jmp on condition from delayOff options:between,ltLo,geHi,outside,geLo,ltHi
   3: shCtDlyOn        |     literal        | required | Jmp on condition from delayOn options:ltLo,between,geHi,outside,geLo,ltHi
   3: shCtOff          |     literal        | required | Jmp on condition from off options:ltLo,between,geLo,outside,geHi,ltHi
   3: shCtOn           |     literal        | required | Jmp on condition from on options:ltHi,outside,geHi,geLo,between,ltLo
   3: shCtValHi        |   0 to 255         | required | Condition value high for CT table
   3: shCtValLo        |   0 to 255         | required | Condition value low for CT table
   3: shMultiExec      |     literal        | required | reg unused, placeholder only options:on,off
   3: shOffDly         | 0.0 to 111600s     | required | off delay
   3: shOffTime        | 0.0 to 111600s     | required | off time special:unused
   3: shOffTimeMode    |     literal        | required | off time meant absolut or at least options:minimal,absolut
   3: shOnDly          | 0.0 to 111600s     | required | on delay
   3: shOnTime         | 0.0 to 111600s     | required | on time special:unused
   3: shOnTimeMode     |     literal        | required | on time meant absolut or at least options:minimal,absolut
   3: shSwJtDlyOff     |     literal        | required | Jump from delayOff options:dlyOn,on,no,dlyOff,off
   3: shSwJtDlyOn      |     literal        | required | Jump from delayOn options:on,dlyOn,dlyOff,off,no
   3: shSwJtOff        |     literal        | required | Jump from off options:no,dlyOff,off,dlyOn,on
   3: shSwJtOn         |     literal        | required | Jump from on options:on,dlyOn,dlyOff,off,no


ZitathomebridgeMapping, ein Beispiel:

Wie kann ich selbstständig auf diesen homebridgeMapping Ausdruck kommen und wwie sag ich es meinem Kinde?


On=state,valueOn=on,valueOff=off,cmdOn=on-for-timer+1800,cmdOff=off







Titel: Antw:Mein erster Watchdog
Beitrag von: MadMax-FHEM am 03 Juni 2022, 23:00:49
Das ist aber doch ein regList und kein regTable oder?

Ich würde halt, wenn du es für alle Einschaltvorgänge willst mal shOnTime setzen...
(und dann nat. ohne watchdog testen, ob es tut wie du willst)


Zitat
Wie kann ich selbstständig auf diesen homebridgeMapping Ausdruck kommen und wwie sag ich es meinem Kinde?

Verstehe ich nicht.

Wenn du damit meinst, wie du es beim Device eingibst:

Beim Device das Attribut homebridgeMapping auswählen und dann eingeben...

Selbständig drauf kommen: suchen und lernen, wie immer ;)
Z.B. und weitere:
https://github.com/justme-1968/homebridge-fhem/wiki/Mappings
https://wiki.fhem.de/wiki/Homebridge_User_Configs

Und beachten (ausprobieren/nachlesen), dass homebridgeMapping nicht nur für Alexa genutzt wird, sondern auch für andere Sprachsteuerungen. Daher muss man halt sehen (bei Amazon) was tatsächlich geht. Und: man kann damit NICHT Alexa andere Dinge/Sprachansagen beibringen!! Es ist (wie der Name sagt) ein Mapping von: das kommt von Alexa/Amazon und wie muss es in Richtung fhem angepasst werden bzw. andersrum...

Gruß, Joachim