[GELÖST]Problem mit DOIF und Shelly

Begonnen von maci, 10 Juni 2022, 10:26:24

Vorheriges Thema - Nächstes Thema

maci

Hallo,

Ich melde mich nach längerer Zeit wieder mal.
Ich steuere meine Poolpumpe mit einer Shelly 1PM
Diese Shelly wird über ein DOIF angesteuert.
Ich stelle es hier ein, weil ich kein Shelly Rubrik finde.

Ich habe aber das Problem, dass die Shelly oft nach 30 min, oder auch nach 3 Stunden abschaltet, obwohl diese keine Befehl dafür bekommen hat.

Hier die Lists der Shelly:
ZitatInternals:
   DEF        192.168.1.211
   DURATION   0
   FUUID      5efe108e-f33f-0d7f-4f14-acf17054f8df3091
   FVERSION   36_Shelly.pm:v3.4.0-s25465/2022-01-14
   INTERVAL   60
   NAME       PoolPumpe
   NR         366
   SHELLYID   shelly1pm-A4CF12F3D297
   STATE      PoolPumpe: on<br>Stromaufnahme aktuell: 725.24 Watt<br>Stromaufnahme Tag: 507.10 Wh
   TCPIP      192.168.1.211
   TYPE       Shelly
   Helper:
     DBLOG:
       Status:
         DBLogging:
           TIME       1654846200.03518
           VALUE      on
       power:
         DBLogging:
           TIME       1654849023.87124
           VALUE      725.24
       state:
         DBLogging:
           TIME       1654848300.61846
           VALUE      on
   OLDREADINGS:
   READINGS:
     2022-06-10 09:30:00   Status          on
     2022-06-10 10:18:04   Stromaufnahme_Pumpe_Tag 507.096929065883
     2020-07-02 18:51:27   cloud           disabled
     2020-07-02 18:53:48   energy          0
     2020-07-02 18:51:27   firmware        1047-long-id-for-shelly-devices
     2022-06-10 10:18:04   inttemp         46.36
     2022-06-06 08:22:53   network         <html>connected to <a href="http://192.168.1.211">192.168.1.211</a></html>
     2022-06-10 10:05:00   overpower       0
     2022-06-10 10:17:03   power           725.24
     2022-06-10 10:05:00   relay           on
     2022-06-10 10:05:00   state           on
Attributes:
   DbLogExclude .*
   DbLogInclude state,power,Status
   group      Pumpe
   icon       sani_garden_pump
   model      shelly1pm
   mqttName   Pumpe
   mqttReadings state
   mqttRoom   Pool
   room       7.01_Pool
   sortby     3
   stateFormat {sprintf("PoolPumpe: %s<br>Stromaufnahme aktuell: %.2f Watt<br>Stromaufnahme Tag: %.2f Wh", ReadingsVal($name,"state",0),ReadingsVal($name,"power",0),ReadingsVal($name,"Stromaufnahme_Pumpe_Tag",0))}
   userReadings Stromaufnahme_Pumpe_Tag integral { ReadingsVal($name,"power",0) /3600 }
Der Relay on Status wurde manuell ausgeführt, da ja die Pumpe laufen soll.

Das List des DOIFs:
ZitatInternals:
   DEF        ([Pool_Hauptschalter] eq "on" and [ [Filterpumpe_Laufzeitstart] - ( [Filterpumpe_Laufzeitstart] + [PoolPumpeLaufZeit:Gesamtlaufzeit] ) ] )
  (set PoolPumpe on) (setreading PoolPumpe Status on )
DOELSE (set PoolPumpe off) (setreading PoolPumpe Status off )
   FUUID      5e7a6505-f33f-bdb6-5f77-f261740d476447f5
   FVERSION   98_DOIF.pm:0.259750/2022-04-17
   MODEL      FHEM
   NAME       Schalt_Poolpumpe
   NOTIFYDEV  Pool_Hauptschalter,PoolPumpeLaufZeit,global,Filterpumpe_Laufzeitstart
   NR         249
   NTFY_ORDER 50-Schalt_Poolpumpe
   STATE      Pumpenlaufzeit: 8.0 Stunden <br>Laufzeit: 10.06.2022 09:30:00 Uhr bis 10.06.2022 17:30:00 Uhr
   TYPE       DOIF
   VERSION    25975 2022-04-17 09:48:15
   READINGS:
     2022-06-10 09:30:00   cmd             1.2
     2022-06-10 09:30:00   cmd_event       timer_1
     2022-06-10 09:30:00   cmd_nr          1
     2022-06-10 09:30:00   cmd_seqnr       2
     2022-05-24 10:25:27   mode            enabled
     2022-06-10 09:30:00   state           cmd_1
     2022-06-10 05:00:00   timer_01_c01    10.06.2022 09:30:00
     2022-06-10 05:00:00   timer_02_c01    10.06.2022 17:30:00
   Regex:
     accu:
     collect:
     cond:
       Pool_Hauptschalter:
         0:
           &STATE     ^Pool_Hauptschalter$
     itimer:
       Filterpumpe_Laufzeitstart:
         itimer:
           &STATE     ^Filterpumpe_Laufzeitstart$
       PoolPumpeLaufZeit:
         itimer:
           Gesamtlaufzeit ^PoolPumpeLaufZeit$:^Gesamtlaufzeit:
   attr:
     cmdState:
     wait:
     waitdel:
   condition:
     0          ::InternalDoIf($hash,'Pool_Hauptschalter','STATE') eq "on" and ::DOIF_time($hash,0,1,$wday,$hms)
   days:
   do:
     0:
       0          set PoolPumpe on
       1          setreading PoolPumpe Status on
     1:
       0          set PoolPumpe off
       1          setreading PoolPumpe Status off
   helper:
     NOTIFYDEV  Pool_Hauptschalter,PoolPumpeLaufZeit,global,Filterpumpe_Laufzeitstart
     event      timer_1
     globalinit 1
     last_timer 2
     sleeptimer -1
     timerdev   
     timerevent timer_1
     triggerDev
     DOIF_eventa:
       cmd_nr: 1
       cmd_seqnr: 2
       cmd_event: timer_1
       cmd_1
     DOIF_eventas:
       cmd_nr: 1
       cmd_seqnr: 2
       cmd_event: timer_1
       state: cmd_1
     timerevents:
       timer_1
     timereventsState:
       timer_1
     triggerEvents:
       timer_1
     triggerEventsState:
       timer_1
   internals:
     all         Pool_Hauptschalter:STATE
   interval:
     0          -1
     1          0
   intervalfunc:
   intervaltimer:
   localtime:
     0          1654846200
     1          1654875000
   perlblock:
   realtime:
     0          09:30:00
     1          17:30:00
   time:
     0          [Filterpumpe_Laufzeitstart]
     1          ([Filterpumpe_Laufzeitstart]+[PoolPumpeLaufZeit:Gesamtlaufzeit])
   timeCond:
     0          0
     1          0
   timer:
     0          0
     1          0
   timers:
     0           0  1
   triggertime:
     1654875000:
       localtime  1654875000
       hash:
   uiState:
   uiTable:
Attributes:
   DbLogExclude .*
   do         always
   event-on-change-reading 1
   group      Pumpe
   icon       general_an_fuer_zeit
   room       7.01_Pool
   sortby     8
   stateFormat {sprintf("Pumpenlaufzeit: %.1f Stunden <br>Laufzeit: %s Uhr bis %s Uhr" ,ReadingsVal("PoolPumpeLaufZeit","Laufzeit_Std",0),ReadingsVal($name,"timer_01_c01",0),ReadingsVal($name,"timer_02_c01",0))}

Das setreading habe ich eingefügt, weil eben die Probleme auftraten.

Interessant ist, dass es diese Konfiguration schon seit 2019 gibt und immer funktioniert hat. Heuer traten plötzlich diese Probleme auf.
Die Shelly hat die Firmware aus 2019 drauf, aktualisieren kann ich nicht, denn in dem Netz wo sie hängt, kann sie nicht nach Hause telefonieren, da Internet untersagt ist.

Wass kann da schuld sein?
Fhem auf Dell Thinclient, Fhem auf Raspebrry Pi4,
UniPi Vers. 1.1 mit Raspberry Pi3, 1wire USB Adapter mit OWX
Netatmo Wetterstation + Regenmesser + Netatmo Thermostat
Homematic mit HMLan

Frank_Huber

Kannst du bitte die List im Fehler Zustand posten?
Sonst ist das alles Glaskugel raten
😉

maci

Wann das nächste mal der Fehler auftritt (wahrscheinlich erst morgen), poste ich die Lists nochmals.
Fhem auf Dell Thinclient, Fhem auf Raspebrry Pi4,
UniPi Vers. 1.1 mit Raspberry Pi3, 1wire USB Adapter mit OWX
Netatmo Wetterstation + Regenmesser + Netatmo Thermostat
Homematic mit HMLan

Helmi55

Servus
kann es sein das der Shelly "over power" geht und deshalb abschaltet.
Ich hatte das bei meiner Solarpumpe beim Pool mit einem pro4pm. Hab ihn gegen einen plus1pm getauscht und jetzt gehts.
Ist nur eine Vermutung. Aber da es bei dir ja länger schon gelaufen ist und auch keine neue FW drauf ist sollte es nicht sein.

Gruß
Helmut
System1 fhem 6.1 auf RPi 4B mit 4GB, HMUSBConfig, DS9490R-1Wire, Busware USB 868, Pool-Solarsteuerung mit FHEM. System2 fhem 6.1 auf RPi 4B mit 4GB (Bullseye) mit Busware USB 868 und 433 und HMUARTLGW für Haussteuerung

https://www.flickr.com/photos/canonhelmi/

maci

Es war wieder soweit. Um 13 Uhr hat die Pumpe wieder abgeschaltet.

Hier das List der PoolPumpe
Internals:
   DEF        192.168.1.211
   DURATION   0
   FUUID      5efe108e-f33f-0d7f-4f14-acf17054f8df3091
   FVERSION   36_Shelly.pm:v3.4.0-s25465/2022-01-14
   INTERVAL   60
   NAME       PoolPumpe
   NR         366
   SHELLYID   shelly1pm-A4CF12F3D297
   STATE      PoolPumpe: off<br>Stromaufnahme aktuell: 0.00 Watt<br>Stromaufnahme Tag: 2456.02 Wh
   TCPIP      192.168.1.211
   TYPE       Shelly
   Helper:
     DBLOG:
       Status:
         DBLogging:
           TIME       1654846200.03518
           VALUE      on
       power:
         DBLogging:
           TIME       1654858829.82234
           VALUE      0
       state:
         DBLogging:
           TIME       1654858829.82234
           VALUE      off
   OLDREADINGS:
   READINGS:
     2022-06-10 09:30:00   Status          on
     2022-06-10 13:09:30   Stromaufnahme_Pumpe_Tag 2456.02181134386
     2020-07-02 18:51:27   cloud           disabled
     2020-07-02 18:53:48   energy          0
     2020-07-02 18:51:27   firmware        1047-long-id-for-shelly-devices
     2022-06-10 13:09:30   inttemp         44.2
     2022-06-06 08:22:53   network         <html>connected to <a href="http://192.168.1.211">192.168.1.211</a></html>
     2022-06-10 10:05:00   overpower       0
     2022-06-10 13:00:29   power           0
     2022-06-10 13:00:29   relay           off
     2022-06-10 13:00:29   state           off
Attributes:
   DbLogExclude .*
   DbLogInclude state,power,Status
   group      Pumpe
   icon       sani_garden_pump
   model      shelly1pm
   mqttName   Pumpe
   mqttReadings state
   mqttRoom   Pool
   room       7.01_Pool
   sortby     3
   stateFormat {sprintf("PoolPumpe: %s<br>Stromaufnahme aktuell: %.2f Watt<br>Stromaufnahme Tag: %.2f Wh", ReadingsVal($name,"state",0),ReadingsVal($name,"power",0),ReadingsVal($name,"Stromaufnahme_Pumpe_Tag",0))}
   userReadings Stromaufnahme_Pumpe_Tag integral { ReadingsVal($name,"power",0) /3600 }


Hier noch ein Auszug das dem Log, das ich extra dafür angelegt habe.
2022-06-10_12:51:28 PoolPumpe inttemp: 50.74
2022-06-10_12:51:28 PoolPumpe power: 722.54
2022-06-10_12:51:28 PoolPumpe Stromaufnahme_Pumpe_Tag: 2353.48907135471
2022-06-10_12:52:28 PoolPumpe inttemp: 51.05
2022-06-10_12:52:28 PoolPumpe power: 721.95
2022-06-10_12:52:28 PoolPumpe Stromaufnahme_Pumpe_Tag: 2365.55612454363
2022-06-10_12:53:28 PoolPumpe inttemp: 50.85
2022-06-10_12:53:28 PoolPumpe power: 721.35
2022-06-10_12:53:28 PoolPumpe Stromaufnahme_Pumpe_Tag: 2377.61151949634
2022-06-10_12:54:29 PoolPumpe inttemp: 51.05
2022-06-10_12:54:29 PoolPumpe power: 722.25
2022-06-10_12:54:29 PoolPumpe Stromaufnahme_Pumpe_Tag: 2389.67178457989
2022-06-10_12:55:29 PoolPumpe inttemp: 51.26
2022-06-10_12:55:29 PoolPumpe Stromaufnahme_Pumpe_Tag: 2401.73828192725
2022-06-10_12:56:29 PoolPumpe inttemp: 51.05
2022-06-10_12:56:29 PoolPumpe power: 721.95
2022-06-10_12:56:29 PoolPumpe Stromaufnahme_Pumpe_Tag: 2413.7965628282
2022-06-10_12:57:29 PoolPumpe inttemp: 50.74
2022-06-10_12:57:29 PoolPumpe power: 723.14
2022-06-10_12:57:29 PoolPumpe Stromaufnahme_Pumpe_Tag: 2425.86644444564
2022-06-10_12:58:29 PoolPumpe inttemp: 51.05
2022-06-10_12:58:29 PoolPumpe power: 721.95
2022-06-10_12:58:29 PoolPumpe Stromaufnahme_Pumpe_Tag: 2437.93425472996
2022-06-10_12:59:29 PoolPumpe inttemp: 51.15
2022-06-10_12:59:29 PoolPumpe Stromaufnahme_Pumpe_Tag: 2449.99496632504
2022-06-10_13:00:29 PoolPumpe inttemp: 50.44
2022-06-10_13:00:29 PoolPumpe relay: off
2022-06-10_13:00:29 PoolPumpe off
2022-06-10_13:00:29 PoolPumpe power: 0
2022-06-10_13:00:29 PoolPumpe Stromaufnahme_Pumpe_Tag: 2456.02181134386
2022-06-10_13:01:29 PoolPumpe inttemp: 49.2
2022-06-10_13:01:29 PoolPumpe Stromaufnahme_Pumpe_Tag: 2456.02181134386
2022-06-10_13:02:30 PoolPumpe inttemp: 48.05
2022-06-10_13:02:30 PoolPumpe Stromaufnahme_Pumpe_Tag: 2456.02181134386
2022-06-10_13:03:30 PoolPumpe inttemp: 47.31
2022-06-10_13:03:30 PoolPumpe Stromaufnahme_Pumpe_Tag: 2456.02181134386
2022-06-10_13:04:30 PoolPumpe inttemp: 46.47
2022-06-10_13:04:30 PoolPumpe Stromaufnahme_Pumpe_Tag: 2456.02181134386
2022-06-10_13:05:30 PoolPumpe inttemp: 45.73
2022-06-10_13:05:30 PoolPumpe Stromaufnahme_Pumpe_Tag: 2456.02181134386
2022-06-10_13:06:30 PoolPumpe inttemp: 45.41
2022-06-10_13:06:30 PoolPumpe Stromaufnahme_Pumpe_Tag: 2456.02181134386
2022-06-10_13:07:30 PoolPumpe inttemp: 44.84
2022-06-10_13:07:30 PoolPumpe Stromaufnahme_Pumpe_Tag: 2456.02181134386
2022-06-10_13:08:30 PoolPumpe inttemp: 44.56


Der Vollständigkeit halber auch noch ein List des DOIFs in dem Zustand
Internals:
   DEF        ([Pool_Hauptschalter] eq "on" and [ [Filterpumpe_Laufzeitstart] - ( [Filterpumpe_Laufzeitstart] + [PoolPumpeLaufZeit:Gesamtlaufzeit] ) ] )
  (set PoolPumpe on) (setreading PoolPumpe Status on )
DOELSE (set PoolPumpe off) (setreading PoolPumpe Status off )
   FUUID      5e7a6505-f33f-bdb6-5f77-f261740d476447f5
   FVERSION   98_DOIF.pm:0.259750/2022-04-17
   MODEL      FHEM
   NAME       Schalt_Poolpumpe
   NOTIFYDEV  Pool_Hauptschalter,PoolPumpeLaufZeit,global,Filterpumpe_Laufzeitstart
   NR         249
   NTFY_ORDER 50-Schalt_Poolpumpe
   STATE      Pumpenlaufzeit: 8.0 Stunden <br>Laufzeit: 10.06.2022 09:30:00 Uhr bis 10.06.2022 17:30:00 Uhr
   TYPE       DOIF
   VERSION    25975 2022-04-17 09:48:15
   READINGS:
     2022-06-10 09:30:00   cmd             1.2
     2022-06-10 09:30:00   cmd_event       timer_1
     2022-06-10 09:30:00   cmd_nr          1
     2022-06-10 09:30:00   cmd_seqnr       2
     2022-05-24 10:25:27   mode            enabled
     2022-06-10 09:30:00   state           cmd_1
     2022-06-10 05:00:00   timer_01_c01    10.06.2022 09:30:00
     2022-06-10 05:00:00   timer_02_c01    10.06.2022 17:30:00
   Regex:
     accu:
     collect:
     cond:
       Pool_Hauptschalter:
         0:
           &STATE     ^Pool_Hauptschalter$
     itimer:
       Filterpumpe_Laufzeitstart:
         itimer:
           &STATE     ^Filterpumpe_Laufzeitstart$
       PoolPumpeLaufZeit:
         itimer:
           Gesamtlaufzeit ^PoolPumpeLaufZeit$:^Gesamtlaufzeit:
   attr:
     cmdState:
     wait:
     waitdel:
   condition:
     0          ::InternalDoIf($hash,'Pool_Hauptschalter','STATE') eq "on" and ::DOIF_time($hash,0,1,$wday,$hms)
   days:
   do:
     0:
       0          set PoolPumpe on
       1          setreading PoolPumpe Status on
     1:
       0          set PoolPumpe off
       1          setreading PoolPumpe Status off
   helper:
     NOTIFYDEV  Pool_Hauptschalter,PoolPumpeLaufZeit,global,Filterpumpe_Laufzeitstart
     event      timer_1
     globalinit 1
     last_timer 2
     sleeptimer -1
     timerdev   
     timerevent timer_1
     triggerDev
     timerevents:
       timer_1
     timereventsState:
       timer_1
     triggerEvents:
       timer_1
     triggerEventsState:
       timer_1
   internals:
     all         Pool_Hauptschalter:STATE
   interval:
     0          -1
     1          0
   intervalfunc:
   intervaltimer:
   localtime:
     0          1654846200
     1          1654875000
   perlblock:
   realtime:
     0          09:30:00
     1          17:30:00
   time:
     0          [Filterpumpe_Laufzeitstart]
     1          ([Filterpumpe_Laufzeitstart]+[PoolPumpeLaufZeit:Gesamtlaufzeit])
   timeCond:
     0          0
     1          0
   timer:
     0          0
     1          0
   timers:
     0           0  1
   triggertime:
     1654875000:
       localtime  1654875000
       hash:
   uiState:
   uiTable:
Attributes:
   DbLogExclude .*
   do         always
   event-on-change-reading 1
   group      Pumpe
   icon       general_an_fuer_zeit
   room       7.01_Pool
   sortby     8
   stateFormat {sprintf("Pumpenlaufzeit: %.1f Stunden <br>Laufzeit: %s Uhr bis %s Uhr" ,ReadingsVal("PoolPumpeLaufZeit","Laufzeit_Std",0),ReadingsVal($name,"timer_01_c01",0),ReadingsVal($name,"timer_02_c01",0))}


Wenn hier nichts zu finden ist, muss ich die Shelly mal tauschen.
Fhem auf Dell Thinclient, Fhem auf Raspebrry Pi4,
UniPi Vers. 1.1 mit Raspberry Pi3, 1wire USB Adapter mit OWX
Netatmo Wetterstation + Regenmesser + Netatmo Thermostat
Homematic mit HMLan

Frank_Huber

Also der Shelly steht auf off um 13.00.29.
Dein DOIF war es nicht.
Prüfe doch mal ob der shelly noch mit anderen Dingen geschälten wird. Notify, andere DOIF, at,...

maci

Diese Prüfung habe ich schon gemacht, denn ich habe diese Gerät gelöscht und neu angelegt mit einem anderen Namen. Dann das zugehörige DOIF geändert.
Da sich hier ja andere DOIFs, notitfy's und at's ja nicht automatisch ändern ist dies ausgeschlossen. Außerdem sieht man alle Definitionen die das Gerät ansteuern oder auslesen ja im Gerät selbst ganz unten.
Meine Vermutung ist, dass dies die Shelly selbst macht.

Eine zweite Möglichkeit wäre, dass ich die Shelly über den Schalteingang ein bzw ausschalte. ein ESP8266 ist in der Nähe, der ja die Temperaturen ausliest.
Dann braucht die Shelly nur noch den Stromverbrauch senden, dass sie ja problemlos macht.

Ich habe derzeit ein 2. DOIF angelegt, dass überprüft ob die Pumpe läuft, und bei Bedarf wieder einschaltet.
Hier nutze ich das Reading, dass ich auch setze beim Schalten.

Da ich nach einer Verletzung etwas eingeschränkt bin, muss ich den Tausch des Shelly etwas verschieben.
Unterstützung zum Tausch habe ich bereits angefordert.
Fhem auf Dell Thinclient, Fhem auf Raspebrry Pi4,
UniPi Vers. 1.1 mit Raspberry Pi3, 1wire USB Adapter mit OWX
Netatmo Wetterstation + Regenmesser + Netatmo Thermostat
Homematic mit HMLan

MadMax-FHEM

Zitat von: maci am 11 Juni 2022, 11:21:37
Außerdem sieht man alle Definitionen die das Gerät ansteuern oder auslesen ja im Gerät selbst ganz unten.

Nicht alle, nur was automatisch erkannt werden kann.

Wenn du z.B. etwas in einer myUtils-Sub tust, dann steht das garantiert nicht unter dem Device (nur ein mögliches Beispiel)...

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)

Prof. Dr. Peter Henning

Hier werden so viele Dinge in einen Topf geworfen, dass eine ordenliche Fehlersuche nicht möglich ist.

- gleich mehrere DOIFs,
- die Hardware des Shelly,
- die Firmware des Shelly.

Gleichzeitig werden noch Behauptungen aufgestellt, die nicht verifizierbar sind - z.B. "schaltet, ohne einen Befehl dafür bekommen zu haben". Wieso das denn? Etwa durch Magie, Erdstrahlen oder Echsenmenschen ausgelöst?

Warum wird nicht einfach mal verbose auf 5 gesetzt, so dass alle Schaltvorgänge am Shelly dokumentiert sind?

LG

pah

maci

Entwarnung!
Ursache für das Schalten des Shelly zwischendurch habe ich gefunden.  :)

Übeltäter war meine Test Installation von Fhem!
Hatte diese config hier mal laufen, als meine Hauptinstallation im Vorjahr mal nicht richtig lief.

Hatte diese DOIFs hier nur inaktiv gestellt.
Aber anscheinend waren sie wieder aktiv, und die Testinstallation (in Docker) aktiv.  :(

Durch einen Zufall bin ich da heute draufgekommen. An diese Installation habe ich gar nicht gedacht.

Fhem auf Dell Thinclient, Fhem auf Raspebrry Pi4,
UniPi Vers. 1.1 mit Raspberry Pi3, 1wire USB Adapter mit OWX
Netatmo Wetterstation + Regenmesser + Netatmo Thermostat
Homematic mit HMLan

Prof. Dr. Peter Henning

ZitatAn diese Installation habe ich gar nicht gedacht.
Die Hauptfehlerquelle liegt immer zwischen den Ohren des Users.

LG

pah

maci

Zitat von: Prof. Dr. Peter Henning am 16 Juni 2022, 18:39:09
Hauptfehlerquelle liegt immer zwischen den Ohren des Users.

Wie wahr!  :)
Wir sind alle nur Menschen und kommt vor.
Fhem auf Dell Thinclient, Fhem auf Raspebrry Pi4,
UniPi Vers. 1.1 mit Raspberry Pi3, 1wire USB Adapter mit OWX
Netatmo Wetterstation + Regenmesser + Netatmo Thermostat
Homematic mit HMLan

Prof. Dr. Peter Henning

Über die Dinge, die wahr sind, schreibe ich gerne Bücher. Darin ist mein Vorbild Friedrich II. von Hohenstaufen.

Insofern heißt mein nächstes Buchprojekt "Künstliche Dummheit und natürliche Intelligenz".

LG

pah