Attribut "disable" für ECMD?

Begonnen von duke-f, 20 Januar 2018, 15:04:33

Vorheriges Thema - Nächstes Thema

duke-f

Für das Modul ECMD gibt es offensichtlich das Attribut "disable" nicht. Hat das einen Hintergrund? Da ich ein AVR_NET_IO im Gartenhaus mit Photovolaik gespeist nur im Sommer betreibe und dieses im Winter vom Strom getrennt wird, würde ich es in FHEM gerne disablen, ohne es aber komplett zu löschen.
Cubietruck, 3 Raspberry Pis,
CUL868, RFXtrx433, CUL433, SCC868, HM-USB,
IRTrans, EZcontrol XS1, IguanaWorks USB IR Transceiver
ESPEasy, Fritz!Box, Samsung TV+BD, LMS, Squeezelite

viegener

Wenn disable im Modul nicht implementiert ist, kannst Du als Alternative auch das attribut ignore setzen, dann taucht der device zwar auch nicht in der oberfläche auf, du kannst ihn aber immer noch direkt anspringen und die daten bleiben erhalten.
Kein Support über PM - Anfragen gerne im Forum - Damit auch andere profitieren und helfen können

Dr. Boris Neubert

Hallo,

was soll disable denn bewirken?

Viele Grüße
Boris
Globaler Moderator, Developer, aktives Mitglied des FHEM e.V. (Marketing, Verwaltung)
Bitte keine unaufgeforderten privaten Nachrichten!

duke-f

#3
Ich habe das Problem, dass mir apptime sehr viele lange dauernde Hashs anzeigt, perfmon listet auch viele freezes entsprechender Dauer. Eigentlich dachte ich, alle Zugriffe deaktiviert zu haben. Dennoch gibt's nicht wirklich eine Besserung. Und da ich jetzt gerade auch mit anderen Modulen am Einrichten bin, möchte ich eben das jetzt sowieso nicht verbundene Gerät in FHEM deaktivieren. Den Tipp mit ignore werde ich probieren, darauf bin ich nicht gekommen. Vielleicht war das genau das was ich brauche.

Danke.

EDIT: Das Attribut ignore gibt's offensichtlich auch nicht. Habe mir jetzt mal mit der unorthodoxen Weise beholfen, die entsprechenden Zeilen der config manuell auszukommentieren.
Cubietruck, 3 Raspberry Pis,
CUL868, RFXtrx433, CUL433, SCC868, HM-USB,
IRTrans, EZcontrol XS1, IguanaWorks USB IR Transceiver
ESPEasy, Fritz!Box, Samsung TV+BD, LMS, Squeezelite

Dr. Boris Neubert

Hallo,

ECMDDevices werden ja nicht von selbst aktiv, daher ist mir noch unklar, warum Du Wartezeiten hast. Am besten zeigst Du uns alle defines, die relevant sind. Dann kann man überlegen, ob eine Anpassung in einem Modul hilfreich ist.

Viele Grüße
Boris
Globaler Moderator, Developer, aktives Mitglied des FHEM e.V. (Marketing, Verwaltung)
Bitte keine unaufgeforderten privaten Nachrichten!

duke-f

Besten Dank, da hast Du natürlich absolut recht. Aber ich muss zugeben, dass ich hier bezüglich der ECMDDevices etwas den Überblick verloren habe und nicht auf die Schnelle überblicke, welche defines relevant sind. Zudem bin ich gerade meist von Extern mit Tablet aktiv. Sobald ich sie extrahiert habe, poste ich sie. Früher hatte ich eher eine Netzspezifische Ursache vermutet, da das AVR-NET-IO über einen WLAN-Adapter verbunden ist. Jetzt aber soll es eigentlich gar nichts machen, da es nicht verbunden ist.

Aber meine Konfiguration ist natürlich bestimmt ein sehr individuelles System. "Nur" wegen meinem Chaos ein Modul generell anzupassen ist selbstverständlich fraglich. Dac hte nur, es könnte in diesem Modul wie auch in anderen von grundsätzlichem Interesse sein.
Cubietruck, 3 Raspberry Pis,
CUL868, RFXtrx433, CUL433, SCC868, HM-USB,
IRTrans, EZcontrol XS1, IguanaWorks USB IR Transceiver
ESPEasy, Fritz!Box, Samsung TV+BD, LMS, Squeezelite

duke-f

Lielleicht sollte ich zur Erklärung noch etwas anfügen:

Mein System ist über die letzten 4 Jahre immens gewachsen, da ich immer die Neigung verspüre, alles was möglich ist auch zu integrieren. Bisher hatte ich das Ziel, alles in einem System zusammen zu fassen. Daher läuft das Hauptsystem auch auf einem Cubie, der ansonsten nichts zu tun hat. Eigentlich habe ich ja das Gefühl, dass der sich trotz Vielzahl an Devices langweilt. Da es aber mittlerweile immer wieder mal Komponenten gibt, die testweise eingefügt werden (aktuell: Chromecast und FireTV sowie einige EMCD-WLAN-Komponenten) macht es wahrscheinlich schon mal Sinn, das ganze zu teilen und beispielsweise nur nötigste Dinge dann per FHEM2FHEM zu verknüpfen. So musste ich es beispielsweise mit meinem Victron machen, das über ein USB-WLAN-Adapter eingebunden werden muss und für den wiederum es nur Treiber auf Intel-Basis gab. Jetzt plane ich, die AVR-NET-IO-Schiene auch auf ein Zweitsystem auszulagern.

Jetzt ist es natürlich nicht ganz einfach, hier eine Teilung durchzuführen, ohne wichtige Verbindungen zu kappen, da ja doch vieles von FHEM automatisch angelegt wurde. Zudem ist mir berufsbedingt nicht oft eine etwas längere Zeitspanne für intensive Beschäftigung mit FHEM gegönnt. Daher ist es auch vorteilhaft, einzelne Komponenten im Hauptsystem erst mal deaktivieren zu können, vor sie dort komplett gelöscht werden und in ein oder zwei Nebensysteme verschoben werden.

Etwas lange Rede, aber ich denke schon, dass die Entwickler, die hier alles großzügig allgemein zur Verfügung stellen, eine ausführlichere Erklärung verdient haben. Kommt doch gerade auch jetzt beispielsweise nach den "tollen" Neuheiten auf der CES immer wieder der Gedanke auf: Was ist da bitte schön so toll? FHEM kann das alles, und noch viel mehr ....
Cubietruck, 3 Raspberry Pis,
CUL868, RFXtrx433, CUL433, SCC868, HM-USB,
IRTrans, EZcontrol XS1, IguanaWorks USB IR Transceiver
ESPEasy, Fritz!Box, Samsung TV+BD, LMS, Squeezelite

duke-f

So, endlich habe ich es geschafft, das betreffende aus der Config zusammenzustellen. Das sollte nun alles enthalten, was das AVR-NET-IO in meiner Config betrifft.

fhem.cfg

define AVR_NET_IO ECMD telnet 192.168.178.51:2701
attr AVR_NET_IO classdefs adc=/opt/fhem/avr/adc.classdef:RELAIS=/opt/fhem/avr/relais.classdef
attr AVR_NET_IO icon it_router
attr AVR_NET_IO requestSeparator \000
attr AVR_NET_IO room CUL
attr AVR_NET_IO timeout 60000

#Realais 1-4: Ladung DJI-Akkus
define Relais1 ECMDDevice RELAIS 1
attr Relais1 IODev AVR_NET_IO
attr Relais1 room ECMDDevice
define Relais2 ECMDDevice RELAIS 2
attr Relais2 IODev AVR_NET_IO
attr Relais2 room ECMDDevice
define Relais3 ECMDDevice RELAIS 4
attr Relais3 IODev AVR_NET_IO
attr Relais3 room ECMDDevice
define Relais4 ECMDDevice RELAIS 8
attr Relais4 IODev AVR_NET_IO
attr Relais4 room ECMDDevice

#Relais 5: Gartenhaus wässern
define Relais5 ECMDDevice RELAIS 10
attr Relais5 IODev AVR_NET_IO
attr Relais5 alias Pumpe_Orangerie
attr Relais5 devStateIcon on.*:sani_irrigation@red off.*:time_manual_mode
attr Relais5 group Orangerie
attr Relais5 icon sani_irrigation
attr Relais5 room Außen,ECMDDevice
attr Relais5 sortby 1

#Relais 6-8: Ungenutzt
define Relais6 ECMDDevice RELAIS 20
attr Relais6 IODev AVR_NET_IO
attr Relais6 room ECMDDevice
define Relais7 ECMDDevice RELAIS 40
attr Relais7 IODev AVR_NET_IO
attr Relais7 room ECMDDevice
define Relais8 ECMDDevice RELAIS 80
attr Relais8 IODev AVR_NET_IO
attr Relais8 room ECMDDevice

define Analog1 ECMDDevice adc 4
attr Analog1 IODev AVR_NET_IO
attr Analog1 room ECMDDevice
define Analog2 ECMDDevice adc 5
attr Analog2 IODev AVR_NET_IO
attr Analog2 room ECMDDevice
define Analog3 ECMDDevice adc 6
attr Analog3 IODev AVR_NET_IO
attr Analog3 room ECMDDevice
define Analog4 ECMDDevice adc 7
attr Analog4 IODev AVR_NET_IO
attr Analog4 referenz 7111
attr Analog4 room ECMDDevice
attr Analog4 schwellwert 11.5

define Digital1 ECMDDevice adc 0
attr Digital1 IODev AVR_NET_IO
attr Digital1 room ECMDDevice
define Digital2 ECMDDevice adc 1
attr Digital2 IODev AVR_NET_IO
attr Digital2 room ECMDDevice
define Digital3 ECMDDevice adc 2
attr Digital3 IODev AVR_NET_IO
attr Digital3 room ECMDDevice
define Digital4 ECMDDevice adc 3
attr Digital4 IODev AVR_NET_IO
attr Digital4 room ECMDDevice

#wahlweise eine, zwei, drei oder vier DJI-Akkus jeweils 30 Minuten laden
define DI_DJI_Lagerung DOIF ([DJI_Lagerung] eq "laden_4") (\
defmod Akku_1_laden at +00:00:00 set Relais1 on,\
defmod Akku_1_stopp at +00:30:00 set Relais1 off,\
defmod Akku_2_laden at +00:30:10 set Relais2 on,\
defmod Akku_2_stopp at +01:00:20 set Relais2 off,\
defmod Akku_3_laden at +01:00:30 set Relais3 on,\
defmod Akku_3_stopp at +01:30:30 set Relais3 off,\
defmod Akku_4_laden at +01:30:40 set Relais4 on,\
defmod Akku_4_stopp at +02:00:40 set Relais4 off,\
defmod DJI_Lagerung_aus at +02:00:50 set DJI_Lagerung aus)\
DOELSEIF ([DJI_Lagerung] eq "laden_4_10") (\
defmod Akku_1_laden at +00:00:00 set Relais1 on,\
defmod Akku_1_stopp at +00:10:00 set Relais1 off,\
defmod Akku_2_laden at +00:10:10 set Relais2 on,\
defmod Akku_2_stopp at +00:20:20 set Relais2 off,\
defmod Akku_3_laden at +00:20:30 set Relais3 on,\
defmod Akku_3_stopp at +00:30:30 set Relais3 off,\
defmod Akku_4_laden at +00:30:40 set Relais4 on,\
defmod Akku_4_stopp at +00:40:40 set Relais4 off,\
defmod DJI_Lagerung_aus at +00:40:50 set DJI_Lagerung aus)\
DOELSEIF ([DJI_Lagerung] eq "laden_3") (\
defmod Akku_1_laden at +00:00:00 set Relais1 on,\
defmod Akku_1_stopp at +00:30:00 set Relais1 off,\
defmod Akku_2_laden at +00:30:10 set Relais2 on,\
defmod Akku_2_stopp at +01:00:20 set Relais2 off,\
defmod Akku_3_laden at +01:00:30 set Relais3 on,\
defmod Akku_3_stopp at +01:30:30 set Relais3 off,\
defmod DJI_Lagerung_aus at +01:30:40 set DJI_Lagerung aus)\
DOELSEIF ([DJI_Lagerung] eq "laden_2") (\
defmod Akku_1_laden at +00:00:00 set Relais1 on,\
defmod Akku_1_stopp at +00:30:00 set Relais1 off,\
defmod Akku_2_laden at +00:30:10 set Relais2 on,\
defmod Akku_2_stopp at +01:00:20 set Relais2 off,\
defmod DJI_Lagerung_aus at +01:00:30 set DJI_Lagerung aus)\
DOELSEIF ([DJI_Lagerung] eq "laden_1") (\
defmod Akku_1_laden at +00:00:00 set Relais1 on,\
defmod Akku_1_stopp at +00:30:00 set Relais1 off,\
defmod DJI_Lagerung_aus at +00:30:10 set DJI_Lagerung aus)\
DOELSEIF ([DJI_Lagerung] eq "aus") (set Relais1 off, set Relais2 off, set Relais3 off, set Relais4 off)
attr DI_DJI_Lagerung disable 0
attr DI_DJI_Lagerung do always
attr DI_DJI_Lagerung group Wecker
attr DI_DJI_Lagerung room Wecker
define FileLog_Relais_AVR FileLog ./log/FileLog_Relais_AVR-%Y.log Relais1:.*|Relais2:.*|Relais3:.*|Relais4:.*|Relais5:.*|Relais6:.*|Relais7:.*|Relais8:.*

#Solar Gartenhaus Spannung der Beliakkus über Analogeingang 4 abfragen
define Solarakku dummy
attr Solarakku group Außen,Energie
attr Solarakku icon measure_photovoltaic_inst
attr Solarakku room Außen,Energie
attr Solarakku sortby 5
define FileLog_Solarakku FileLog /opt/fhem/log/Solarakku-%Y.log ITR1500_3:.*|PV_Gartenhaus:.*|Solarakku:.*
define Solarakku_Set at +*00:05:00 {Solarstatistik()}
attr Solarakku_Set disable 1
define Solarakku_Get at +*00:05:00 get Analog4 value
attr Solarakku_Get disable 1
define SVG_FileLog_Solarakku_1 SVG FileLog_Solarakku:SVG_FileLog_Solarakku_1:CURRENT

#Bewässerung Gartenhaus über Relais 5 schalten abhängig von Füllstand Regentonne, Wetter und Solarakkuspannung
define FileLog_Pumpe_Orangerie FileLog ./log/FileLog_Pumpe_Orangerie-%Y.log Hat_gerade_geregnet:.*|Pumpe_Orangerie_S:.*|Relais5:.*
define DI_Pumpe_Orangerie DOIF ([10:00] and [?Regentonne]>=2 and [?Solarakku]>=11.3) (\
         set Relais5 on,\
set Pumpe_Orangerie_S "an wegen Zeit - voll",\
defmod Pumpe_OR_aus at +00:10:00 set Relais5 off)\
DOELSEIF ([10:00] and [?Regentonne]>=1 and [?Solarakku]>=11.3) (\
         set Relais5 on,\
set Pumpe_Orangerie_S "an wegen Zeit - leer",\
defmod Pumpe_OR_aus at +00:05:00 set Relais5 off)
attr DI_Pumpe_Orangerie disable 0
attr DI_Pumpe_Orangerie do always
attr DI_Pumpe_Orangerie verbose 5

define DI_Stop_Pumpe_Orangerie DOIF (([Solarakku]<11.2 or [Regentonne]<1) and [Relais5]=~"on")(set Relais5 off,\
set Pumpe_Orangerie_S "aus wegen Strom oder Tonne leer")
attr DI_Stop_Pumpe_Orangerie do always

define DI_OR_bei_Regen DOIF ([Wetter:israining] eq "yes" and [?Hat_gerade_geregnet] eq "nein" and [?Regentonne]==3 and [?Solarakku]>=10.9) (\
        set Relais5 on,\
set Pumpe_Orangerie_S "an wegen Regen",\
        defmod Pumpe_OR_aus at +00:20:00 set Relais5 off,\
set Hat_gerade_geregnet ja,\
defmod Hgg_aus at 12:00:00 set Hat_gerade_geregnet nein)
attr DI_OR_bei_Regen disable 0
attr DI_OR_bei_Regen do always

define Hat_gerade_geregnet dummy
define Pumpe_Orangerie_S dummy
define DI_Pumpe_Orangerie_aus DOIF ([Relais5] =~ "on")(defmod Pumpe_Orangerie_aus at +00:20:00 set Relais5 off)


00_myUtils.pm

#### Solarstatistik Gartenhaus ####
sub
Solarstatistik
{
my $Spannung = round(1000*(ReadingsVal("Analog4","value","")))/1000;
fhem ("set Solarakku $Spannung");
}
#############################
Cubietruck, 3 Raspberry Pis,
CUL868, RFXtrx433, CUL433, SCC868, HM-USB,
IRTrans, EZcontrol XS1, IguanaWorks USB IR Transceiver
ESPEasy, Fritz!Box, Samsung TV+BD, LMS, Squeezelite

Dr. Boris Neubert

Hallo duke-f,

m.E. musst Du alle at-Befehle deaktivieren, die direkt oder indirekt (DOIF) dafür sorgen, dass mit dem ECMDDevice gesprochen wird.

Um mal bei der Idee des disable zu bleiben: soll ein ECMDDevice einfach undef auf ein get oder set zurückliefern, wenn es disabled ist?

Grüße
Boris
Globaler Moderator, Developer, aktives Mitglied des FHEM e.V. (Marketing, Verwaltung)
Bitte keine unaufgeforderten privaten Nachrichten!

duke-f

Zitat von: Dr. Boris Neubert am 03 Februar 2018, 12:33:46
Hallo duke-f,

m.E. musst Du alle at-Befehle deaktivieren, die direkt oder indirekt (DOIF) dafür sorgen, dass mit dem ECMDDevice gesprochen wird.
Muss ich nochmal gründlich prüfen. Eigentlich meine ich, das ich die direkten set und get "gedisabled" habe und die indirekten per DOIF gar nicht aktiviert werden, da die Bedingung "Regentonne" nicht geschaltet wird - deren Sensor ist deaktiviert. Wie gesagt, ich muss prüfen, ob ich doch etwas übersehen habe.

Zitat
Um mal bei der Idee des disable zu bleiben: soll ein ECMDDevice einfach undef auf ein get oder set zurückliefern, wenn es disabled ist?
Jetzt hatte ich einfach mal alle zur ECMDDevice gehörenden Zeilen auskommentiert in der Config, also sowohl die EMCDDevice selber als auch alle Relais und Analogeingänge. Es kommt dann auch zu weder Meldungen noch zu Freezes zum AVR-NET-IO. SO stelle ich mir das Disable eigentlich vor: Es ersetzt das Auskommentieren des AVR-NET-IO, ein "undef" als Rückmeldung ist sicher sinnvoll.
Cubietruck, 3 Raspberry Pis,
CUL868, RFXtrx433, CUL433, SCC868, HM-USB,
IRTrans, EZcontrol XS1, IguanaWorks USB IR Transceiver
ESPEasy, Fritz!Box, Samsung TV+BD, LMS, Squeezelite

Dr. Boris Neubert

Hallo,

bitte finde anbei ein überarbeitetes Modul, welches das Attribut disable beinhaltet.

Ich würde mich freuen, wenn Du es testest und mir Rückmeldung gibst.

Viele Grüße
Boris
Globaler Moderator, Developer, aktives Mitglied des FHEM e.V. (Marketing, Verwaltung)
Bitte keine unaufgeforderten privaten Nachrichten!

duke-f

#11
Perfekt, das mache ich. Besten Dank!

Am WE sind noch so einige familiäre Verpflichtungen vorrangig, aber Du bekommst sicher innerhalb der nächsten Tage ein erstes Feedback.

Beste Grüße
duke-f

EDIT:
Hab's doch gleich probiert.
Vorgehen:
- 66_ECMD.pm im FHEM-Verzeichnis ersetzt,
- shutdown restart
- Attribut disable mit Defaultwert 0 gesetzt,
- Zugriff auf Analog4 (ein Beispieldevice, das ich als einziges probeweise aktiviert habe und das eine analoge Spannung einliest) funktioniert wir gehabt,
- Attribut disable auf 1 gesetzt,
- Zugriff auf Analog4 weiter wie oben möglich, Spannungswert wird bei Abfrage ausgegeben.
- Config per "save" gesichert und anschließend mittels "rereadcfg" neu eingelesen, Attribut disable ist weiterhin auf 1 gesetzt.
- Zugriff auf Analog4 ergibt die Meldung: "Please define Analog4 first"

Bin jetzt nicht sicher, ob das so auch wirklich geplant ist, aber auf den ersten Blick scheint es mir so, wie ich es mir vorstelle. Klar, muss jetzt erst noch mal das ganze Szenario des Übergangs zum Winter mit Außerbetriebnahme des AVR-NET-IO durchspielen.

EDIT 2:
Ist es richtig, dass  durch setzen des Attributes "disabled" entsprechende Module (Relais oder Analog, beispielsweise) komplett gelöscht werden? Das war so eigentlich nicht mein Ziel, denn im Frühjahr, nach dem Reaktivieren des Sommerzustandes, muss ich sie dann ja komplett erst wieder neu anlegen.
Cubietruck, 3 Raspberry Pis,
CUL868, RFXtrx433, CUL433, SCC868, HM-USB,
IRTrans, EZcontrol XS1, IguanaWorks USB IR Transceiver
ESPEasy, Fritz!Box, Samsung TV+BD, LMS, Squeezelite

Dr. Boris Neubert

Zitat von: duke-f am 11 Februar 2018, 11:56:06
EDIT 2:
Ist es richtig, dass  durch setzen des Attributes "disabled" entsprechende Module (Relais oder Analog, beispielsweise) komplett gelöscht werden? Das war so eigentlich nicht mein Ziel, denn im Frühjahr, nach dem Reaktivieren des Sommerzustandes, muss ich sie dann ja komplett erst wieder neu anlegen.

Das passiert auch nicht. Ich tippe auf einen Bedienfehler.
Globaler Moderator, Developer, aktives Mitglied des FHEM e.V. (Marketing, Verwaltung)
Bitte keine unaufgeforderten privaten Nachrichten!

duke-f

Würde ich gerne glauben, kann ich aber nicht nachvollziehen. Ich erkläre am Besten nochmal mein Vorgehen Schritt für Schritt. Das habe ich jetzt zweimal exakt so durchgeführt und nebenher direkt protokolliert.

Ausgangszustand:
In meiner Config ist für das AVR_NET-IO

define AVR_NET_IO ECMD telnet 192.168.178.51:2701
attr AVR_NET_IO classdefs adc=/opt/fhem/avr/adc.classdef:RELAIS=/opt/fhem/avr/relais.classdef
attr AVR_NET_IO disable 0
attr AVR_NET_IO icon it_router
attr AVR_NET_IO requestSeparator \000
attr AVR_NET_IO room CUL
attr AVR_NET_IO timeout 60000

und beispielsweise für einen Analogeingang

...
#define Analog3 ECMDDevice adc 6
#attr Analog3 IODev AVR_NET_IO
#attr Analog3 room ECMDDevice
#
define Analog4 ECMDDevice adc 7
attr Analog4 IODev AVR_NET_IO
attr Analog4 referenz 7111
attr Analog4 room ECMDDevice
attr Analog4 schwellwert 11.5
#
#define Digital1 ECMDDevice adc 0
#attr Digital1 IODev AVR_NET_IO
#attr Digital1 room ECMDDevice
...

List Analog4 gibt aus:

Internals:
   DEF        adc 7
   IODev      AVR_NET_IO
   NAME       Analog4
   NR         82
   STATE      portvalue 944
   TYPE       ECMDDevice
   READINGS:
     2018-02-18 19:49:26   portvalue       944
     2018-02-18 19:49:26   state           portvalue 944
   fhem:
     classname  adc
     cache:
       specials:
         %NAME      Analog4
         %PortID    7
         %TYPE      ECMDDevice
     params:
       PortID     7
Attributes:
   IODev      AVR_NET_IO
   referenz   7111
   room       ECMDDevice
   schwellwert 11.5

Soweit gut. Jetzt setze ich das disable-Attribut auf 1, sichere die Config und mache ein rereadcfg. Da bekomme ich schon mal die Meldung

ECMDDevice Relais5 error: no I/O device.
ECMDDevice Analog4 error: no I/O device.
Please define Analog4 first
Please define Analog4 first
Please define Analog4 first

und denke mir mal nichts weiter dabei (Relais5 ist eine zweite ECMDDevice mit genau gleichem Verhalten wie Analog4, alle anderen EMCDDevices habe ich auskommentiert für den Test). Wohlbemerkt: Ich mache kein shutdown restart diesmal, sondern nur rereadcfg.

In edit files, fhem.cfg sehe ich für Analog4 und Relais 5 aber immer noch die obigen Einträge. Bereits list Analog4 liefert mir aber

No device named Analog4 found

Jetzt folgt ein shutdown restart. Weiterhin sind Relais5 und Analog4 in der fhem.cfg vorhanden, list Analog4 liefert immer noch

No device named Analog4 found

Dann setzte ich das Attribut disable wieder auf 0 und sichere wieder per save. Und siehe da, in der Config fehlen die entsprechenden Teile für beispielsweise Analog4:

...
#define Analog3 ECMDDevice adc 6
#attr Analog3 IODev AVR_NET_IO
#attr Analog3 room ECMDDevice
#
#
#define Digital1 ECMDDevice adc 0
#attr Digital1 IODev AVR_NET_IO
#attr Digital1 room ECMDDevice
...


Das bedeutet offensichtlich, dass die Einträhe für die ECMDDevices aus der Config erst dann verwschwinden, wenn für das AVR-NET-IO das Attribut wieder zu 0 gesetzt wird.

Besten Gruß
duke-f
Cubietruck, 3 Raspberry Pis,
CUL868, RFXtrx433, CUL433, SCC868, HM-USB,
IRTrans, EZcontrol XS1, IguanaWorks USB IR Transceiver
ESPEasy, Fritz!Box, Samsung TV+BD, LMS, Squeezelite

Dr. Boris Neubert

Das ist sehr merkwürdig.

Möglicherweise wird an einer Stelle ein zurückgeliefertes undef als fehlendes I/O-Device interpretiert. Ich muss das debuggen. Kann eine Weile dauern, bis ich dazu komme.
Globaler Moderator, Developer, aktives Mitglied des FHEM e.V. (Marketing, Verwaltung)
Bitte keine unaufgeforderten privaten Nachrichten!