FHEM Forum

FHEM - Hausautomations-Systeme => Sonstige Systeme => Thema gestartet von: devien am 20 Juni 2017, 15:02:52

Titel: setting value error bei initialisierung
Beitrag von: devien am 20 Juni 2017, 15:02:52
Hallo,

nach einem "shutdown restart" oder auch einem "reread config" erhalte ich folgende Fehlermeldung:

2017.06.20 14:42:48 2: Messages collected while initializing FHEM: ./log/fhem.save: error setting 'Pumpe_02 value': maximum value of  exceeded: 66 error setting 'Pumpe_03 value': maximum value of  exceeded: 216

hierbei handelt es sich um einen PWM ausgang eines via FRM_PWM angebundenen arduino Nano.

defmod Pumpe_02 FRM_PWM 5
attr Pumpe_02 IODev Arduino_01
attr Pumpe_02 room Arduino
attr Pumpe_02 stateFormat value
attr Pumpe_02 webCmd dim


Offensichtlich will FHEM den "value Wert" nach dem restart auf den vorherigen Wert setzen, leider schaint dies nicht zu funktionieren, jedoch verstehe ich nicht "Warum" das so ist.

Kennt jemand dies (oder ein ähnliches) Problem und kann mir helfen es zu lösen?

Gruß
Titel: Antw:setting value error bei initialisierung
Beitrag von: amenomade am 20 Juni 2017, 18:09:46
Ein komplettes "list" des FRM_PWM und des FRM Geräts wäre nicht schlecht.

Und was sagt die Log mit verbose 5?
Was sagt Fhem beiset Pumpe_02 value 66
set Pumpe_03 value 216

?
Titel: Antw:setting value error bei initialisierung
Beitrag von: devien am 20 Juni 2017, 21:39:21
hi amenomade,

FRM_PWM kann ich nicht via list aufrufen da es kein Device sondern ein modul ist, ein "list" ohne Zusatz gibt folgende FRM-Devices aus:
FRM:
  Arduino_01           (Initialized)
  Arduino_02           (Initialized)

FRM_AD:
  Solar_temp_01        (reading)

FRM_PWM:
  Pumpe_01             (value)
  Pumpe_02             (0)
  Pumpe_03             (0)
  Pumpe_04             (value)
  Pumpe_05             (value)
  Pumpe_06             (value)
  Pumpe_07             (value)
  Pumpe_08             (value)


ein list auf "Pumpe_02":

Internals:
   CFGFN      FHEM/arduino.cfg
   DEF        5
   IODev      Arduino_01
   NAME       Pumpe_02
   NR         161
   PIN        5
   STATE      66
   TYPE       FRM_PWM
   Helper:
     Dblog:
       Dim:
         Mydblog:
           TIME       1497987420.03773
           VALUE      25
       Value:
         Mydblog:
           TIME       1497987420.03773
           VALUE      66
   Readings:
     2017-06-20 21:37:00   dim             25
     2017-06-20 21:23:39   state           Initialized
     2017-06-20 21:37:00   value           66
Attributes:
   IODev      Arduino_01
   room       Arduino
   stateFormat value
   webCmd     dim


das List des FRM-Gerätes arduino_01:
Internals:
   CFGFN      FHEM/arduino.cfg
   DEF        /dev/ttyUSB0@57600
   DeviceName /dev/ttyUSB0@57600
   FD         4
   NAME       Arduino_01
   NOTIFYDEV  global
   NR         110
   NTFY_ORDER 50-Arduino_01
   PARTIAL
   STATE      Initialized
   TYPE       FRM
   firmware   SimpleAnalogFirmata.ino
   firmware_version V_2_06
   Readings:
     2017-06-20 21:23:34   state           opened
Attributes:
   room       Arduino
   sampling-interval 1000
   verbose    4


ein Verbose 5 auf dem FRM-Device Arduino_01 (bei mir der Arduino Nano welcher die analogen ein und Ausgänge trägt um welche es sich handelt) schiebt ins Logfile einen unaufhörlichen Wulst von diesem:
2017.06.20 21:31:40 5: FRM:<e50000e60000e70000e00604e10000e20000e30000e40000e50000e60000e70000e00504e10000e20000e30000e40000e50000e60000e70000e00604e10000e20000e30000e40000e50000e60000e70000e00604e10000e20000e30000e40000e50000e60000e70000e00604e10000e20000e30000e40000e50000e60000e70900e00704e10000e20000e30000e40000e50000e60000e70600e00704e10000e20000e30000e40000e50000e60000e70800e00604e10000e20000e30000e40000e50000e60300e70300e00704e10000e20000e30000e40000e50000e60400e70000e00b04e10000e20000e30000e40000e50000e60000e70000e00b04e10000
2017.06.20 21:31:40 5: FRM:<e20000e30000e40000e50400e60800e70000e00804e10000e20000e30000e40000e50700e60d00e70200e00704e10000e20000e30000e40000e50000e61000e70500e00704e10000e20000e30000e40000e50000e60c00e70700e00704e10000e20000e30000e40000e50000e61300e70700e00704e10000e20000e30000e40000e50000e61200e70500e00804e10000e20000e30000e40000e50000e61000e70400e00804e10000e20000e30000e40000e50100e60f00e70300e00804e10000e20000e30000e40000e50800e60400e70200e00904e10000e20000e30000e40000e50900e60600e70100e00804e10000e20000e30000e40000e50700e60900
2017.06.20 21:31:40 5: FRM:<e70500e00804e10000e20000e30000e40000e50000e61000e70400e00804e10000e20000e30000e40000e50b00e60800e70400e00804e10000e20000e30000e40000e50c00e60500e70100e00804e10000e20000e30000e40100e50600e60200e70000e00c04e10000e20000e30000e40500e50400e60000e70000e00d04e10000e20000e30000e40000e50000e60000e70000e00604e10000e20000e30000e40000e50000e60000e70000e00804e10000e20000e30000e40000e50000e60000e70b00e00704e10000e20000e30000e40000e50000e60000e70300e00804e10000e2
2017.06.20 21:31:40 5: FRM:<0000e30000e40000e50000e60000e70000e00704e10000e20000e30000e40000e50000e60000e70a00e00704e10000e20000e30000e40000e50000e60000e708
2017.06.20 21:31:40 5: FRM:<00e00704e10000e20000e30000e40000e50000e60100e70700e00804e10000e2
2017.06.20 21:31:40 5: FRM:<0000e30000e40000e50000e60700e70700e00804e10000e20000e30000e40000
2017.06.20 21:31:40 5: FRM:<e50000e60700e70700e00804e10000e20000e30000e40000e50000e60b00e706
2017.06.20 21:31:40 5: FRM:<00e00804e10000e20000e30000e40000e50000e60b00e70500e00804e10000e2
2017.06.20 21:31:40 5: FRM:<0000e30000e40000e50000e60b00e70500e00804e10000e20000e30000e40000
2017.06.20 21:31:40 5: FRM:<e50000e60a00e70600e00804e10000e20000e30000e40000e50000e60900e704
2017.06.20 21:31:40 5: FRM:<00e00804e10000e20000e30000e40000e50500e60800e70400e00804e10000e2
2017.06.20 21:31:40 5: FRM:<0000e30000e40000e50b00e60600e70200e00804e10000e20000e30000e40000
2017.06.20 21:31:40 5: FRM:<e50b00e60800e70400e00804e10000e20000e30000e40000e50100e60900e704
2017.06.20 21:31:40 5: FRM:<00e00804e10000e20000e30000e40000e50000e60800e70500e00704e10000e2
2017.06.20 21:31:41 5: FRM:<0000e30000e40000e50a00e60600e70000e00804e10000e20000e30000e40000
2017.06.20 21:31:41 5: FRM:<e50800e60500e70100e00804e10000e20000e30000e40000e50800e60c00e700
2017.06.20 21:31:41 5: FRM:<00e00c04e10000e20000e30000e40100e50800e60400e70000e00b04e10000e2
2017.06.20 21:31:41 5: FRM:<0000e30000e40000e50800e60300e70000e00804e10000e20000e30000e40000
2017.06.20 21:31:41 5: FRM:<e50000e60000e70000e00704e10000e20000e30000e40000e50000e60200e700
2017.06.20 21:31:41 5: FRM:<00e00604e10000e20000e30000e40000e50000e60000e70000e00704e10000e2
2017.06.20 21:31:41 5: FRM:<0000e30000e40000e50000e60000e70b00e00704e10000e20000e30000e40000
2017.06.20 21:31:41 5: FRM:<e50000e60000e70700e00704e10000e20000e30000e40000e50000e60000e707
2017.06.20 21:31:41 5: FRM:<00e00704e10000e20000e30000e40000e50000e60000e70100e00804e10000e2


das geht noch ewig so weiter solange der arduino läuft...

wenn ich "set Pumpe-02 value 66" manuell ausführe bekomme ich:
Messages collected while initializing FHEM:
./log/fhem.save: error setting 'Pumpe_02 value': maximum value of exceeded: 66
error setting 'Pumpe_03 value': maximum value of exceeded: 216


bei "set Pumpe_03 value 216"

ABER

Fhem setzt trotzdem die Werte nach der ausführung von "set Pumpe_02 value 66"
oder "set Pumpe_03 value 216" korrekt auf die devices.
Titel: Antw:setting value error bei initialisierung
Beitrag von: amenomade am 20 Juni 2017, 22:31:10
ZitatFRM_PWM kann ich nicht via list aufrufen da es kein Device sondern ein modul ist
Ja klar, ich meinte ein "list" vom FRM_PWM-Device! Wie z.B. Pumpe_02

Zitatwenn ich "set Pumpe-02 value 66" manuell ausführe bekomme ich:
Code: [Auswählen]

Messages collected while initializing FHEM:
./log/fhem.save: error setting 'Pumpe_02 value': maximum value of exceeded: 66
error setting 'Pumpe_03 value': maximum value of exceeded: 216


bei "set Pumpe_03 value 216"
Hmm... "set Pumpe-02 value 66" sollte eigentlich einen Fehler bringen, da falsch geschrieben, oder?
Das "Message collected" kommt nicht vom Befehl, sondern vom Start von FHEM.
Also... jetzt bin ich verloren. Welches Befehl hast Du eingegeben, und was ist dann in der Log gekommen?


Value ist aber ein Reading. Sollte man nicht "setreading" nutzen?
Poste mal auch bitte zum Vergleich ein "list" von Pumpe_01.

Du kannst auch in ./log/fhem.save die entspr. Zeilen "setstate Pumpe_02" löschen, aber ich befürchte, es kommt wieder.
Titel: Antw:setting value error bei initialisierung
Beitrag von: devien am 21 Juni 2017, 07:55:00
ja natürlich habe ich "set Pumpe_02 value 66" ausgeführt, das oben mit dem "-" war ein schreibfehler von mir :) , sorry.

wenn ich "set Pumpe_02 value 66" manuell ausführe passiert normal im Log garnichts, doch bei Verbose 5 am device "arduino_01" kommt ein dezenter Wechsel/Stolperer im Logfile in der Orgie von wilden Zahlenreihen. siehe:
2017.06.21 07:37:03 5: FRM:<e30000e40000e50000e60800e70100e00e04e10000e20000e30000e40000e500
2017.06.21 07:37:03 5: FRM:<00e60000e70800e00d04e10000e20000e30000e40000e50200e60600e70000e0
2017.06.21 07:37:03 5: FRM:>e54200
2017.06.21 07:37:03 5: SW: e54200
2017.06.21 07:37:03 5: FRM:<0c04e10000e20000e30000e40000e50000e60100e70000e01004e10000e20000e30000e40000e50000e60e00e70000e00e04e10000e20000e30000e40000e50000e60000e70200e00e04e10000e20000e30000e40000e50000e60000e70400e00e04e10000e20000e30000e40000e50000e60000e70300e00e04e10000e20000e30000e40000e50300e60000e70000e00d04e10000e20000e30000e40000e50000e60200e70000e01304e10000e20000e30000e40000e50000e60800e70100e00e04e10000e20000e30000e40000e50000e60700e70300e00d04e10000e20000e30000e40000e50000e60000e70b00e00d04e10000e20000e30000e40000e5
2017.06.21 07:37:03 5: FRM:<0600e60000e70000e01204e10000e20000e30000e40000e50000e60d00e70000e00d04e10000e20000e30000e40000e50000e60000e70800e00c04e10000e20000e30000e40000e50000e60000e70000e00d04e10000e20000e30000e40000e50000e60f00e70100e00d04e10000e20000e30000e40000e50000e60000e70b00e00d04e10000e20000e30000e40000e50400e60600e70000e00c04e10000e20000e30000e40000e50000e60100e70000e00f04e10000e20000e30000e40000e50000e60000e70200e00d04e10000e20000e30000e40000e50000e60000e70500e00b04e10000e20000e30000e40000e50400e60400e70000e00a04e10000e2
2017.06.21 07:37:03 5: FRM:<0000e30000e40000e50000e60900e70000e00b04e10000e20000e30000e40000e50000e60000e70400e00b04e10000e20000e30000e40000e50000e60000e70300e00a04e10000e20000e30000e40000e50500e60600e70000e00b04e10000e20000e30000e40000e50000e60a00e70000e01004e10000e20000e30000e40000e50000e60400e70000e00c04e10000e20000e30000e40000e50000e60000e70400e0
2017.06.21 07:37:03 5: FRM:<0c04e10000e20000e30000e40000e50000e60000e70000e00c04e10000e20000
2017.06.21 07:37:03 5: FRM:<e30000e40000e50700e60100e70000e01104e10000e20000e30000e40000e50000e60a00e70100e00d04e10000e20000e30000e40000e50000e60000e70400e00d04e10000e20000e30000e40000e50000e60200e70500e00d04e10000e20000e30000e40000e50100e60400e70000e00b04e10000e20000e30000e40000e500
2017.06.21 07:37:03 5: FRM:<00e60a00e70000e01304e10000e20000e30000e40000e50000e60a00e70000e00e04e10000e20000e30000e40000e50000e60f00e70000e00d04e10000e20000
2017.06.21 07:37:03 5: FRM:<e30000e40000e50000e60000e70200e00d04e10000e20000e30000e40000e500
2017.06.21 07:37:03 5: FRM:<00e60000e70600e00c04e10000e20000e30000e40000e50000e60100e70300e0
2017.06.21 07:37:03 5: FRM:<0d04e10000e20000e30000e40000e50000e60200e70300e00d04e10000e20000
2017.06.21 07:37:03 5: FRM:<e30000e40000e50600e60000e70000e00d04e10000e20000e30000e40000e500
2017.06.21 07:37:03 5: FRM:<00e60b00e70000e00d04e10000e20000e30000e40000e50000e60f00e70000e0
2017.06.21 07:37:03 5: FRM:<0d04e10000e20000e30000e40000e50000e60000e70100e00d04e10000e20000


also 2017.06.21 07:37:03 5: FRM:>e54200


ist ganz offensichtlich die Anweisung von Fhem an Arduino den entsprechenden Pin mit dem wert 66 zu belegen, und
2017.06.21 07:37:03 5: SW: e54200 wird vermutlich die "Bestätige Anweisung Pin auf 66 zu setzen" vom Arduino an Fhem sein.

er führt es also wie schon bemerkt aus, nur nach einem reload config oder shutdown restart nicht bzw selten.

Value mag ja ein Reading sein (vieleicht aber auch nicht, letztlich muss dieser Wert im Device ja gegeben sein um ausgelesen werden zu können), jedoch will Fhem dies nach einem reload/shutdown offensichtlich in dieser Schreibweise ausführen.

Sichergestellt ist auch das wenn der "value-Wert" nicht gesetzt ist er bei initialisierung auf "value" steht und der PWM Ausgang nicht gesteuert wird.

Mich verwirrt die Fehlermeldung ansich inhaltlich, mit Blick auf den Ausschnitt : maximum value of  exceeded: da scheint etwas nach "of" zu fehlen.
Titel: Antw:setting value error bei initialisierung
Beitrag von: CoolTux am 21 Juni 2017, 08:02:31
Zu Testzwecken Deine Definition

defmod Pumpe_02 FRM_PWM 5
attr Pumpe_02 IODev Arduino_01
attr Pumpe_02 room Arduino
attr Pumpe_02 stateFormat value
attr Pumpe_02 webCmd dim

bitte einmal direkt in die fhem.cfg eintragen und nicht in eine includierte Datei.
Titel: Antw:setting value error bei initialisierung
Beitrag von: devien am 21 Juni 2017, 08:48:10
Zitat von: CoolTux am 21 Juni 2017, 08:02:31
Zu Testzwecken Deine Definition

defmod Pumpe_02 FRM_PWM 5
attr Pumpe_02 IODev Arduino_01
attr Pumpe_02 room Arduino
attr Pumpe_02 stateFormat value
attr Pumpe_02 webCmd dim

bitte einmal direkt in die fhem.cfg eintragen und nicht in eine includierte Datei.

hab ich versucht, ich bekomme nach einem "rereadcfg"
error setting 'Pumpe_02 value': maximum value of  exceeded: 66
error setting 'Pumpe_03 value': maximum value of  exceeded: 216


nach wie vor und die Werte werden leider auch nicht gesetzt. also kein Unterschied zu includierter konfig-datei :(
Titel: Antw:setting value error bei initialisierung
Beitrag von: CoolTux am 21 Juni 2017, 08:53:34
Und nach einem shutdown restart? Ich weiß ist eigentlich das selbe, aber wer weiß. In Deinem Fall sollte man wirklich mal alles abschecken.
Hast Du auch den alten Eintrag aus der includierten Datei ausgetragen?
Titel: Antw:setting value error bei initialisierung
Beitrag von: devien am 21 Juni 2017, 09:01:02
auch nach shutdown restart, das gleiche Bild.

Ja ich habe den alten Eintrag zuvor aus der includierten Datei gelöscht und diese gespeichert.

wenn ich es nicht besser wüsste hätte ich darauf getippt das der Arduino zum Zeitpunkt der von fhem versuchten wiederherstellung des vlaue Wertes nicht erreichbar war, jedoch trifft das nicht zu, das würde eine andere Fehlermeldung geben...
Titel: Antw:setting value error bei initialisierung
Beitrag von: CoolTux am 21 Juni 2017, 09:09:34
Schaue mal bitte im global Device unter modt was da steht. Ich habe den Verdacht das die Meldung da drin steht. Wenn ja, lösche die Meldung raus und setzte statt dessen none rein.
Titel: Antw:setting value error bei initialisierung
Beitrag von: devien am 21 Juni 2017, 09:21:26
Zitat von: CoolTux am 21 Juni 2017, 09:09:34
Schaue mal bitte im global Device unter modt was da steht. Ich habe den Verdacht das die Meldung da drin steht. Wenn ja, lösche die Meldung raus und setzte statt dessen none rein.
es stand da drin, habe es herrausgelöscht, gegen "none" ersetzt.
nach einem rereadcfg das gleiche Bild, nach einem shutdown restart ist die Meldung in der motd wieder drin und sonst wieder wie gehabt, Fehlermeldung und kein value wert gesetzt.

hm...
Titel: Antw:setting value error bei initialisierung
Beitrag von: CoolTux am 21 Juni 2017, 09:25:24
Hast Du speichern gedrückt oder save in die Commandline eingegeben nachdem Du modt auf none gesetzt hast?
Titel: Antw:setting value error bei initialisierung
Beitrag von: devien am 21 Juni 2017, 09:31:49
habe ich beides probiert, sowohl "Save config" anklicken als auch "save" in der commandline abgesetzt, führt zum gleichen Ergebniss leider.
Titel: Antw:setting value error bei initialisierung
Beitrag von: CoolTux am 21 Juni 2017, 09:41:35
Ok die Fehlermeldung kommt vom Modul 20_FRM_PWM.pm. Schaue mir gerade den Source dazu an um zu verstehen wo genau Dein Problem ist.
Titel: Antw:setting value error bei initialisierung
Beitrag von: devien am 21 Juni 2017, 09:51:55
ich denke es liegt in dem Abschnitt um Zeile 130 herrum,

die $max Variable wird zuvor nicht initialisiert sagt (wirklich nur ab und zu mal) bei einem Neustart das Logfile und der Wortlaut maximum value of $max exceeded: entspricht dem Inhalt der Fehlermeldung.
Leider bin ich nicht firm bei perl daher erkenne ich nicht weshalb der Wert 66 nicht zuvor an $max übergeben wird.
Titel: Antw:setting value error bei initialisierung
Beitrag von: CoolTux am 21 Juni 2017, 09:55:03
Dir fehlt etwas  ;D

hash->{".max"}  ist entwder nicht definiert oder aber es ist leer. Auf Jedenfall steht da nichts drin.
Das kann, muß aber nicht durch eine Reihe verketteter Probleme sein.

$hash->{".max"} = defined $resolution ? (1<<$resolution)-1 : 255;

$hash->{".max"}  wird mittels folgenden Code gefüllt. $resolution wiederum durch

my $resolution = $firmata->{metadata}{pwm_resolutions}{$hash->{PIN}} if (defined $firmata->{metadata}{pwm_resolutions});

und $firmata wiederum

my $firmata = $hash->{IODev}->{FirmataDevice};


Leider kenne ich mich nicht mit den Devices aus.
Titel: Antw:setting value error bei initialisierung
Beitrag von: CoolTux am 21 Juni 2017, 10:01:02
Wenn ich das alles richtig verstehe und mir Dein IODev so anschaue, fehlt Dir beim IODev das Internal FirmataDevice.
Aber das ist eher schlecht geraten als wissend. Am besten Du verschiebst Deinen Thread mal ins korrekte Forum.
Titel: Antw:setting value error bei initialisierung
Beitrag von: devien am 21 Juni 2017, 10:07:42
hm, ich wundere mich zwar warum im IODev das internal state auf initialized steht während das reading auf opened steht, aber das dürfte hier nicht der Punkt sein.

in welches Forum gehört der Post nun, Fhem sonstiges, Bastelecke, Fhem Development?
Titel: Antw:setting value error bei initialisierung
Beitrag von: CoolTux am 21 Juni 2017, 10:11:33
Ganz einfach. Die Meldung wird durch das Modul 20_FRM_PWM.pm ausgelöst.
Nun geht man auf https://svn.fhem.de/trac/browser/trunk/fhem und schaut sich die Datei MAINTAINER.TXT an.
Dort findet man folgenden Eintrag

FHEM/20_FRM_PWM.pm           ntruchsess           http://forum.fhem.de Sonstige Systeme

Der letzte Abschnitt gibt das Forum an in dem das Modul diskutiert wird.
Titel: Antw:setting value error bei initialisierung
Beitrag von: devien am 01 Juli 2017, 00:15:20
so, nun steht der Beitrag ne ganze Weile im Sonsiges Forum und leider passiert nix mehr.....

Wäre schön wenn der Entwickler des Moduls mal wieder eins im Forum hier vorbeischaut oder ein Anderer sich dem fixen dem Moduls erbarmt :)

Leider bin ich in dem Bereich echt ne Null "AcheaufmeinHaupt"
Titel: Antw:setting value error bei initialisierung
Beitrag von: CoolTux am 01 Juli 2017, 08:53:39
Schon ne PN geschickt?
Titel: Antw:setting value error bei initialisierung
Beitrag von: devien am 01 Juli 2017, 23:42:10
an den ursprünglichen Entwickler (den eingetragenen) "ja" leider keine Reaktion, der hat auch seit 2014 kein Post mehr irgendwo abgegeben, gerade mal ein "fix" auf GitHub vor n par Monaten, sonst ists totenstill um ihn....