Slider - hier FS20 MS Übergabe der Dummy Werte zum schalten

Begonnen von Franz Tenbrock, 09 März 2014, 20:21:56

Vorheriges Thema - Nächstes Thema

Franz Tenbrock

Hallo
Ich habe 2 FS20 MS Markisenstuerungen neu heute eingebaut.
Sie funktionieren schon mit der Fernsteuerung und auch über das Dashboard kann ich sie rein und rausfahren und auch stoppen.

Der Code dazu:
define Markise_WZ FS20 284b 00
attr Markise_WZ alias M  Wohnzimmer
attr Markise_WZ eventMap on:rein off:raus
attr Markise_WZ group Rolladen
attr Markise_WZ icon fts_sunblind
attr Markise_WZ model fs20rsu
attr Markise_WZ room Wohnzimmer


So jetzt würde ich gerne per Slider Zwischenschritte definieren.
Dazu habe ich shcon ne Menge gelesen und  Codeschnipsel die auch funktionieren

Das Ganze müsste nur sinnvoll zusammengefügt werden.

Hier ein Slider mit der Schrittweite 2 und Bereich 0 bis 10
so eine richtig gute Erklärung hatte ich leider nicht gefunden wo ich das sofort verstanden hätte#


define d1 dummy
attr d1 room Wohnzimmer
attr d1 setList state:slider,0,2,10
attr d1 webCmd state


wenn ich nun diese Zeile in der Kommandozeile von FHEM eingebe passiert auch das richtige. die Markise fährt raus

set Markise_WZ off-for-timer { d1 }


dann hab ich so was probiert

define WZM_dummy notify d1 {fhem ("set Markise_WZ off-for-timer { d1 })}
attr  WZM_dummy room Wohnzimmer
[code]


So in der Art müsste es doch gehen
cubi3, Cul 868, ESA2000WZ, EM1000GZ,  FS20, dashboard, 1-Wire, Max Thermos, Max Wandthermo, Max Lan, Fritzbox callmonitor, , nanocul, HM Led16, HM Bewegungsmelder, HM Schalter, RPi, banana, ESP8266, DoorPi

Franz Tenbrock

noch was gelesen! verstanden?

mein Code jetzt:
define schalter1 dummy
attr schalter1 room Wohnzimmer
attr schalter1 setList state:on,off
attr schalter1 webCmd state

define d1 dummy
attr d1 room Wohnzimmer
attr d1 setList state:slider,0,2,10
attr d1 webCmd state

##set Markise_WZ on-for-timer { d1 }            damit fährt Markise schon mal rein :-)
# set Markise_WZ off-for-timer { d1 }


define WZM notify schalter1:off { set Markise_WZ off-for-timer { d1 } }
define WZM notify schalter1:on { set Markise_WZ on-for-timer { d1 } }
attr WZM room Wohnzimmer


da ich zwei Markisen habe die Frage ob ich dafür nichtnoch ein setlist machen soll
dann hab ich 3 Zeilen
1. Markise auswählen 1 oder 2
2. wie weit soll es rein oder rausgehen
3. rein oder raus
cubi3, Cul 868, ESA2000WZ, EM1000GZ,  FS20, dashboard, 1-Wire, Max Thermos, Max Wandthermo, Max Lan, Fritzbox callmonitor, , nanocul, HM Led16, HM Bewegungsmelder, HM Schalter, RPi, banana, ESP8266, DoorPi

Franz Tenbrock

#2
man muss halt dranbleiben
mit jeder Zeile versteht man mehr.....

der Code der nun schon mal ansatzweise funktioniert

Die Markise fährt schon mal raus und jetzt auch wieder rein :-)


define schalter1 dummy
attr schalter1 room Wohnzimmer
attr schalter1 setList state:on,off
attr schalter1 webCmd state

define d1 dummy
attr d1 room Wohnzimmer
attr d1 setList state:slider,0,2,10

attr d1 webCmd state
define WZMraus notify schalter1:off { fhem "set Markise_WZ off-for-timer { d1 }" }
define WZMrein notify schalter1:on { fhem "set Markise_WZ on-for-timer { d1 }" }


Es fehlten diese "   "
immer diese Syntax


8)
so morgen noch die Auswahl der entsprechenden Markise und dann noch ins Dashboard

Problem ist noch das scheinbar der Slider für d1 nicht berücksichtigt wird
die Markise fährt immer ein gleiches Stück raus
so sieht es aus


cubi3, Cul 868, ESA2000WZ, EM1000GZ,  FS20, dashboard, 1-Wire, Max Thermos, Max Wandthermo, Max Lan, Fritzbox callmonitor, , nanocul, HM Led16, HM Bewegungsmelder, HM Schalter, RPi, banana, ESP8266, DoorPi

Franz Tenbrock

#3
da muss wohl noch ein ReadingsVal rein
aber das ist mal wieder ne Hürde für einen Anfänger wie mich...
die Syntax .......
das d1 muss also irgendwie als readingsval ( ..... ) definiert werden, liest sich immer so einfach :-(
und das bei dem schönen Wetter


das wäre super wenn das so klappen könnte
(http://slider1.jpg)
cubi3, Cul 868, ESA2000WZ, EM1000GZ,  FS20, dashboard, 1-Wire, Max Thermos, Max Wandthermo, Max Lan, Fritzbox callmonitor, , nanocul, HM Led16, HM Bewegungsmelder, HM Schalter, RPi, banana, ESP8266, DoorPi

Franz Tenbrock

#4
erst mal nur ein paar Testergebnisse, also Schritt für Schritt
wenn ich das hier in die Befhelszeile eingebe:
{ ReadingsVal ( "Slider","state","" ) }
und ich den Slider vorher auf 20 stelle
so kommt mit 20 das richtige Ergebniss raus, ist doch schon mal was

das klappt ebenso wenn ich dann den Slider verstelle und das ganze über die Befehlszeile kontrolliere
es kommen immer die richtigen werte raus,
wenn ich nun
set Markise_WZ off-for-timer 2
eingebe so fährt die Markise 2 Sekunden und bleibt stehen, so wie in der commandref angegeben.

wenn ich nun
set Markise_WZ off-for-timer { ReadingsVal ( "Slider","state","" ) }
eingebe und vorher den Slider auf 2 stelle dann läuft das Ding für 10 aber es soll nur für 2


Warum    >:(    >:(       >:(       :'(
bevor ich das nicht kann
brauch ich gar nicht weitermachen



so ein Mist wie bei der Zisterne......
es geht weiter bis es klappt ...
also ich kann zwar eine Aktion rausfahren auslösen, aber ab dem 2. mal hat der Slider irgenwie keien auswirkung mehr, dh Markise fährt immer gleich weit, dh irgenwie wird nciht die vom Slider eigentlich vorgegeben Zeit übernommen.
wo ist der Haken  Syntax ?

Hier mein Code:


define Markise_WZ FS20 284b 00
attr Markise_WZ alias M  Wohnzimmer
attr Markise_WZ eventMap on:rein off:raus
attr Markise_WZ group Rolladen
attr Markise_WZ icon fts_sunblind
attr Markise_WZ model fs20rsu
attr Markise_WZ room Wohnzimmer

# Der Slider bestimmt wie weit die Markise rausfährt
define Slider dummy
attr Slider room Wohnzimmer
attr Slider setList state:slider,0,5,100
attr Slider webCmd state


# bestimmt welche Markise gemeint ist 1 , 2 , oder beide
define Markise12all dummy
attr Markise12all room Wohnzimmer
attr Markise12all setList state:Markise1,Markise2,Markiseall
attr Markise12all webCmd state

# bestimmt rein oder raus

define schalterM dummy
attr schalterM room Wohnzimmer
attr schalterM setList state:rein,raus,nichts
attr schalterM webCmd state

define WZMraus notify schalterM:raus set Markise_WZ off-for-timer  { ReadingsVal ( "Slider","state","undef" ) }
attr WZMraus room Wohnzimmer
define WZMrein notify schalterM:rein set Markise_WZ on-for-timer 5
attr WZMrein room Wohnzimmer


Hier mein Logauszug
2014-03-10 18:48:07 FS20 Markise_WZ raus-for-timer { ReadingsVal ( "Slider","state","undef" ) }
2014-03-10 18:48:07 FS20 FS20_284b00 off-for-timer { ReadingsVal ( "Slider","state","undef" ) }
2014-03-10 18:48:07 dummy schalterM raus


so sieht es aus:
(http://slider3.jpg)

und hier noch was wegen der Definition:
(http://slider2.jpg)

Keiner der sich berufen fühlt mir zumindest einen Tip zu geben??

Soweit ich es verstanden habe
mus ich mit den dummys die benötigten Variablen bereitstellen
dann den Schalter über notify definieren, dieser wird angestossen durch einen Event bei mir raus oder rein
dann muss ich dem on-fot-timer eine Zeit übergeben wie lange er fahren will, dazu benötige ich dann wohl eine ReadingsVal.

Stimmt der Denkansatz zumindest.

Hab auch hier gelesen und auch probiert den Code anzupassen, glaube zwar ansatzweise zu erkennen was der code bewirken soll , ist aber für meinen jetzigen Wissensstand wohl noch zu komplex
das geht ja in die gleiche Richtung..
http://forum.fhem.de/index.php/topic,18294.0.html


wenn ich das hier in die Befhelszeile eingebe
{ ReadingsVal ( "Slider","state","" ) }
und ich den Slider vorher auf 20 stelle
so kommt mit 20 das richtige Ergebniss raus
das klappt ebenso wenn ich dann den -slider verstelle und das ganze über die Befehlszeile kontrolliere
es kommen immer die richtigen werte raus,

wenn ich nun
set Markise_WZ off-for-timer 2
eingebe so fährt die Markise 2 Sekunden und bleibt stehen

wenn ich nun
set Markise_WZ off-for-timer { ReadingsVal ( "Slider","state","" ) }
eingebe und vorher den Slider auf 2 stelle dann läuft das Ding für 10
cubi3, Cul 868, ESA2000WZ, EM1000GZ,  FS20, dashboard, 1-Wire, Max Thermos, Max Wandthermo, Max Lan, Fritzbox callmonitor, , nanocul, HM Led16, HM Bewegungsmelder, HM Schalter, RPi, banana, ESP8266, DoorPi

Franz Tenbrock

Hallo
dank der Hilfe von xy  :)
Kann ich mit dem Slider auswählen wie lange die Markise fahren soll und in welche Richtung
Wie vermutet war die Syntax falsch.
Der Code hierfür

# Der Slider bestimmt wie weit die Markise rausfährt

define Slider dummy
attr Slider room Wohnzimmer
attr Slider setList state:slider,0,2,20
attr Slider webCmd state

# bestimmt welche Markise gemeint ist 1 , 2 , oder beide

define Markise12all dummy
attr Markise12all room Wohnzimmer
attr Markise12all setList state:Markise1,Markise2,Markiseall
attr Markise12all webCmd state

# bestimmt rein oder raus

define schalter1 dummy
attr schalter1 room Wohnzimmer
attr schalter1 setList state:rein,raus
attr schalter1 webCmd state

define WZMraus notify schalter1:raus {{ fhem "set Markise_WZ off-for-timer ".ReadingsVal("Slider","state","") }}
define WZMrein notify schalter1:rein { fhem "set Markise_WZ on-for-timer ".ReadingsVal("Slider","state","") }

attr WZMrein room Wohnzimmer


So sieht es aus:
[/img]

Jetzt muss der Dummy für die Auswahl der Markise 1 , 2 oder all
noch eingebaut werden.
Für Profis sicher total easy für jemanden der das noch nie gemacht hat ne Herausforderung
cubi3, Cul 868, ESA2000WZ, EM1000GZ,  FS20, dashboard, 1-Wire, Max Thermos, Max Wandthermo, Max Lan, Fritzbox callmonitor, , nanocul, HM Led16, HM Bewegungsmelder, HM Schalter, RPi, banana, ESP8266, DoorPi

Franz Tenbrock

na das klappt nicht ..  >:(

define WZMraus notify schalter1:raus schalter1:rein { if ({ReadingsVal("Markise12all",
"state", 99)} eq "Markise1")  { fhem "set Markise_WZ off-for-timer ".ReadingsVal("Slider","state","") } }



fürs erste Mal mit if
hab ich nichts anderes erwartet
da hilft wohl nur lesen lesen lesen
cubi3, Cul 868, ESA2000WZ, EM1000GZ,  FS20, dashboard, 1-Wire, Max Thermos, Max Wandthermo, Max Lan, Fritzbox callmonitor, , nanocul, HM Led16, HM Bewegungsmelder, HM Schalter, RPi, banana, ESP8266, DoorPi

Puschel74

Hallo Franz,

du musst im Code nicht unbedingt mit { und } um dich werfen  ;)

Versuch mal das:
define WZMraus notify schalter1:(rein|raus) {
  if (Value("Markise12all","state", 99) eq "Markise1"){
    fhem "set Markise_WZ off-for-timer ".ReadingsVal("Slider","state","");
  }
}

Aber Achtung!
1:1 in die fhem.cfg kopiert wird das nicht klappen da ich NIE die fhem.cfg direkt bearbeite.
Klick also auf das DEF des notify und füg das in das Codefeld ein:
schalter1:(rein|raus) {
  if (Value("Markise12all","state", 99) eq "Markise1"){
    fhem "set Markise_WZ off-for-timer ".ReadingsVal("Slider","state","");
  }
}

Da Markise12all ein Dummy ist brauchst du kein ReadingsVal um den STATE zu erfahren - das geht recht einfach mit Value.
Ich vermute aber das dein notify beim regexp schon eine Fehlermeldung im fhem-Logfile erzeugt hat - schau mal dort nach.

Grüße
Zotac BI323 als Server mit DBLog
CUNO für FHT80B, 3 HM-Lan per vCCU, RasPi mit CUL433 für Somfy-Rollo (F2F), RasPi mit I2C(LM75) (F2F), RasPi für Panstamp+Vegetronix +SONOS(F2F)
Ich beantworte keine Supportanfragen per PM! Bitte im Forum suchen oder einen Beitrag erstellen.

Franz Tenbrock

Hallo
toll das du mir hilfst.
Ich hab wirklich schon viel gelesen ,aber ohen Programmierkenntnisse ist es nicht ganz so leicht.
Aber mit etwas Biss und Hilfe hab ich schon viel von dem was ich machen wollte hinbekommen.
Hier ein paar Bilder damit man sieht was wie definiert ist.

(http://slider5.jpg)


(http://slider6.jpg)

(http://slider7.jpg)

Wie du siehts hab ich 2 unterschiedlcie notifys definiert, sonst blick ich nichts mehr,
sollte ja auch gehen

die weiteren ifs. als für Markise2 und Markiseall

kommen sicher irgendwie
    fhem "set Markise_WZ off-for-timer ".ReadingsVal("Slider","state","");
  hierrein ???}
}

so gerade Besuch bekommen morgen gehts weiter.


Hier Auszug aus dem Logfile , gerade erst einmal verbose 5 eingebaut, kannich ja mittlerweile auch :-)

2014.03.13 19:58:30 5: Triggering WZMraus
2014.03.13 19:58:30 4: WZMraus exec {
  if (Value("Markise12all","state", 99) eq "Markise1"){
    fhem "set Markise_WZ off-for-timer ".ReadingsVal("Slider","state","");;
  }
}
2014.03.13 19:58:30 3: WZMraus return value: Too many arguments for main::Value at (eval 71325) line 2, near "99) "
cubi3, Cul 868, ESA2000WZ, EM1000GZ,  FS20, dashboard, 1-Wire, Max Thermos, Max Wandthermo, Max Lan, Fritzbox callmonitor, , nanocul, HM Led16, HM Bewegungsmelder, HM Schalter, RPi, banana, ESP8266, DoorPi

Puschel74

Hallo,

Zitat2014.03.13 19:58:30 3: WZMraus return value: Too many arguments for main::Value at (eval 71325) line 2, near "99) "
Die Fehlermeldung hab ich dir produziert - sorry.

Value hat ja nicht soviel Werte wie ReadingsVal.

if (Value("Markise12all) eq "Markise1"){
so sollte das besser passen.

Aber ob ich dir bei deinem Code mehr helfen kann als über die Anfängerfragen hinaus (und das evtl. noch nichtmal) weiß ich noch nicht.

Grüße
Zotac BI323 als Server mit DBLog
CUNO für FHT80B, 3 HM-Lan per vCCU, RasPi mit CUL433 für Somfy-Rollo (F2F), RasPi mit I2C(LM75) (F2F), RasPi für Panstamp+Vegetronix +SONOS(F2F)
Ich beantworte keine Supportanfragen per PM! Bitte im Forum suchen oder einen Beitrag erstellen.

Franz Tenbrock

Hallo.
hab das heute morgen schnell mal ausprobiert und es klappt soweit :-)

Jetzt noch irgendwie die Alternativen Markise2 und Markiseall einbauen.
Dazu werde ich die if Schleife dann wohl erweitern,  wie ich mitbekommen habe sollte ich das dann wohl über den Def Editor machen...
werde weiter berichten

Nach enem Kommando auf "nichts" setzen, hab ich eingebaut damit der dummy dann 2x hintereinander auch auf raus gesetzt werden kann

define schalter1 dummy
attr schalter1 room Wohnzimmer
attr schalter1 setList state:rein,raus,nichts
attr schalter1 webCmd state
cubi3, Cul 868, ESA2000WZ, EM1000GZ,  FS20, dashboard, 1-Wire, Max Thermos, Max Wandthermo, Max Lan, Fritzbox callmonitor, , nanocul, HM Led16, HM Bewegungsmelder, HM Schalter, RPi, banana, ESP8266, DoorPi

Puschel74

Hallo,

auf die schnelle fällt mir für deine Markisenabfrage nur das ein:

schalter1:(rein|raus) {
  if ((Value("Markise12all") eq "Markise1")||(Value("Markise12all") eq "Markiseall")){
    fhem "set Markise_WZ off-for-timer ".ReadingsVal("Slider","state","");
  }
  if ((Value("Markise12all") eq "Markise2")||(Value("Markise12all") eq "Markiseall")){
    fhem "set Markise_WZ off-for-timer ".ReadingsVal("Slider","state","");
  }
}


Der erste if-Zweig prüft ob Markise1 ODER Markiseall
Der zweite if-Zweig prüft ob Markise2 ODER Markiseall
Den set-Befehl musst du an deine Markisen anpassen  8)

Und wie gesagt, nicht in die fhem.cfg kopieren  ;)

Es können aber durchaus noch Fehler enthalten sein.

Ach ja, rein und raus musst du auch noch unterscheiden vermute ich mal.

Grüße
Zotac BI323 als Server mit DBLog
CUNO für FHT80B, 3 HM-Lan per vCCU, RasPi mit CUL433 für Somfy-Rollo (F2F), RasPi mit I2C(LM75) (F2F), RasPi für Panstamp+Vegetronix +SONOS(F2F)
Ich beantworte keine Supportanfragen per PM! Bitte im Forum suchen oder einen Beitrag erstellen.

Franz Tenbrock

Thanks,
so in etwa dachte ich auch das das aussehen müsste, habe bisher aber nochnei mit if gearbeitet, aber da im Thread gelesen.
werde dann heute nachmittag berichten.

Wahnsinn was sich da alles an Möglichkeiten ergeben.....
Die Gartenbeleuchtung kommt dann in den nächsten Wochen dran FS20SM8  8)
cubi3, Cul 868, ESA2000WZ, EM1000GZ,  FS20, dashboard, 1-Wire, Max Thermos, Max Wandthermo, Max Lan, Fritzbox callmonitor, , nanocul, HM Led16, HM Bewegungsmelder, HM Schalter, RPi, banana, ESP8266, DoorPi

Franz Tenbrock

es funktioniert !!!   ;D    8)   

Thanks an Puschel ;)

Ich habe noch kleine Änderungen vorgenommen
Ich brauche zwei unterschiedliche Kommandos, einmal on-for-timer und einmal off-for-timer
Ich denke es ist übersichtlicher, gerade für Anfnger, darm hab ich 2 unterschiedliche notifys definiert.

Was fehlt wäre nach einem Kommando den Dummy von Schalter1 auf "nichts" zu setzen.
Da ja nur bei einer Statusänderung ein notify ausgelöst wird.

Hier der Code:
################################################################################
####                            Markise Wohnzimmer                          ## #
####   http://forum.fhem.de/index.php/topic,11202.msg65841.html#msg65841     ###
################################################################################

define Markise_WZ FS20 284b 00
attr Markise_WZ alias M  Wohnzimmer
attr Markise_WZ group Markise
attr Markise_WZ icon fts_sunblind
attr Markise_WZ model fs20rsu
attr Markise_WZ room Wohnzimmer
attr Markise_WZ webCmd on:off:off-for-timer 5:off-for-timer 10

define Markise_WZ_ein at *17:48 {fhem("set  Markise_WZ on")}
attr Markise_WZ_ein room Wohnzimmer

define Markise_W FS20 44ec 08
attr Markise_W model fs20rsu
attr Markise_W room Wohnzimmer
attr Markise_W webCmd on:off:off-for-timer 5:off-for-timer 10

################################################################################
####                            Markise Esszimmer                           ## #
####   http://forum.fhem.de/index.php/topic,11202.msg65841.html#msg65841     ###
################################################################################

define Markise_EZ FS20 284b 01
attr Markise_EZ alias M  Esszimmer
attr Markise_EZ group Markise
attr Markise_EZ icon fts_sunblind
attr Markise_EZ model fs20ms2
attr Markise_EZ room Esszimmer
attr Markise_EZ webCmd on:off:off-for-timer 5:off-for-timer 10


define Markise_EZ_ein at *17:48 {fhem("set  Markise_EZ on")}
attr Markise_EZ_ein room Esszimmer

#### Der Slider bestimmt wie weit die Markise rausfährt

define Slider dummy
attr Slider room Wohnzimmer
attr Slider setList state:slider,0,2,20
attr Slider webCmd state

#### bestimmt welche Markise gemeint ist 1 , 2 , oder beide

define Markise12all dummy
attr Markise12all room Wohnzimmer
attr Markise12all setList state:Markise1,Markise2,Markiseall
attr Markise12all webCmd state

#### bestimmt rein oder raus

define schalter1 dummy
attr schalter1 room Wohnzimmer
attr schalter1 setList state:rein,raus,nichts
attr schalter1 webCmd state

####Definition zum rausfahren der Markisen

define WZMraus notify schalter1:raus {\
  if (Value("Markise12all") eq "Markise1"){\
    fhem "set Markise_WZ off-for-timer ".ReadingsVal("Slider","state","");;\
  }\
  if (Value("Markise12all") eq "Markise2"){\
    fhem "set Markise_EZ off-for-timer ".ReadingsVal("Slider","state","");;\
  }\
   if ((Value("Markise12all") eq "Markise12all")||(Value("Markiseall") eq "Markiseall")){\
    fhem "set Markise_.* off-for-timer ".ReadingsVal("Slider","state","");;\
  }\
}

###Definition zum reinfahren der Markisen

define WZMrein notify schalter1:rein {\
  if (Value("Markise12all") eq "Markise1"){\
    fhem "set Markise_WZ on-for-timer ".ReadingsVal("Slider","state","");;\
  }\
  if (Value("Markise12all") eq "Markise2"){\
    fhem "set Markise_EZ on-for-timer ".ReadingsVal("Slider","state","");;\
  }\
   if (Value("Markise12all") eq "Markiseall"){\
    fhem "set Markise_.* on-for-timer ".ReadingsVal("Slider","state","");;\
  }\
}

attr WZMrein room Wohnzimmer
attr WZMraus room Wohnzimmer

#attr WZMrein verbose 5
#attr WZMraus verbose 5




Mal sehen ob ich das mit meiner PV Solaranlage kombinieren kann, wenn das Reading
von ESA_Solar
actual  2.35637779941577   2014-03-14 14:03:39 > 2 ist dann scheint die Sonne so hell das ich eine Beschattung benötige
oder eine Alternative bei mir ist der Wintergarten
wenn die Temperatur dort über 25 Grad ist dann Beschattung erforderlich.

Na ja ob ich mir da nicht etwas viel vorgenommen habe ??

Aber super das das hier shcon mal funktioniert.
cubi3, Cul 868, ESA2000WZ, EM1000GZ,  FS20, dashboard, 1-Wire, Max Thermos, Max Wandthermo, Max Lan, Fritzbox callmonitor, , nanocul, HM Led16, HM Bewegungsmelder, HM Schalter, RPi, banana, ESP8266, DoorPi

Puschel74

Hallo,

ZitatWas fehlt wäre nach einem Kommando den Dummy von Schalter1 auf "nichts" zu setzen.
Das sollte sich mit setstate erledigen lassen.

fhem "setstate Schalter1 nichts";
überall dort einfügen wo der Status wieder auf "nichts" gesetzt werden soll.

ZitatPV Solaranlage kombinieren kann,
Das sollte sich mit ReadingsVal lösen lassen
Zitatoder eine Alternative bei mir ist der Wintergarten
das ebenso.

Wenn du die beiden Device noch mit einbinden willst solltest du dir langsam Gedanken machen das ganze in die 99_myUtils.pm auszulagern.
Bereits der bisherige Code wäre dort schon besser aufgehoben - ich hab meine Code"würste" aber auch immer noch in der fhem.cfg  ;D

Grüße

P.S.: Wie immer lässt sich mein Beispiel nicht ohne Fehlermeldungen in die Konfig kopieren  ;)
Zotac BI323 als Server mit DBLog
CUNO für FHT80B, 3 HM-Lan per vCCU, RasPi mit CUL433 für Somfy-Rollo (F2F), RasPi mit I2C(LM75) (F2F), RasPi für Panstamp+Vegetronix +SONOS(F2F)
Ich beantworte keine Supportanfragen per PM! Bitte im Forum suchen oder einen Beitrag erstellen.