Reihenfolgeproblem OWX & Firmata seit Update heute

Begonnen von papa, 20 März 2014, 08:50:01

Vorheriges Thema - Nächstes Thema

papa

Hallo,

ich habe einige Temperatursensoren per 1Wire über Firmata angebunden. Seit dem heutigen Update scheint es ein Problem mit der Reihenfolge beim Starten zu geben. Ich kriege im Log folgende Fehlermeldung:


OWX: 1-Wire bus OneW1: interface not associated to any FRM device


Die Config sieht wie folget aus:


define Arduino FRM /dev/ttyACM1@57600
define OneW1 OWX 7
.....
define temp_Garage OWTHERM DS18B20 977287040000 300
.....


Und hier nochmal etwas mehr aus dem Logfile. Dort sieht man auch, dass OWX vor der Initialisierung von Firmata schon den Fehler ausgibt:


2014.03.20 08:39:51 3: HMLAN device opened
2014.03.20 08:39:51 1: HMLAN_Parse: HMLAN new condition init
2014.03.20 08:39:51 1: OWX: 1-Wire bus OneW1: interface not associated to any FRM device
2014.03.20 08:39:51 3: OWTHERM: Device temp_Garage defined.
2014.03.20 08:39:51 3: OWTHERM: Device temp_Wohnzimmer defined.
2014.03.20 08:39:51 3: OWTHERM: Device temp_Aussen defined.
2014.03.20 08:39:51 1: Including ./log/fhem.save
2014.03.20 08:39:52 3: Opening Arduino device /dev/ttyACM1
2014.03.20 08:39:52 3: Setting Arduino baudrate to 57600
2014.03.20 08:39:52 3: Arduino device opened
2014.03.20 08:39:54 3: querying Firmata Firmware Version
2014.03.20 08:39:55 3: querying Firmata Firmware Version
2014.03.20 08:39:55 3: Firmata Firmware Version: ConfFirmata.ino V_2_05
2014.03.20 08:39:56 1: HMLAN_Parse: HMLAN new condition ok

BananaPi + CUL868 + CUL433 + HM-UART + 1Wire

ntruchsess

#1
ich musste wg. der unabgestimmten Änderungen von AssignIOPort in der Initialisierung der Firmata einiges umstellen, d.h. konkrekt wird jetzt im Define eigentlich gar nichts mehr mit der Physik gemacht, sondern erst beim globalen Notify 'INITIALIZED' bzw 'REREADCFG'.
Das muss ich im OWX analog noch nachziehen, ich denke da ist jetzt eine Racecondition drin. Ich hab jedenfalls beim Testen gemerkt, dass es bei der Networkfirmata nur dann funktioniert, wenn die schneller verbindet, als die per Internaltimer getriggerte Initialisierung vom OWX loslegt. Für Firmata über USB hat es bei mir zwar funktioniert (auch mit reconnect, also USB-device abziehen und wieder einstecken), aber richtig intensiv getestet habe ich das zugegebenerweise nicht. Meine Umbauten waren ja auch nicht geplant, sondern wg. o.g. Änderung von außen getrieben. Ich habe morgen und am WE Zeit das gradezubiegen.

Probier mal am OWX das IODev als Attribut fest zu setzen.

Gruß,

Norbert
while (!asleep()) {sheep++};

papa

Ok - dann werde ich mal warten.

Wenn man OWX & alle abhängigen Devices über das Webinterface nochmal initialisiert, geht es ja auch wieder.
BananaPi + CUL868 + CUL433 + HM-UART + 1Wire

ntruchsess

hab das im OWX grade angepasst. Jetzt initialisiert OWX die Hardware erst, wenn global init fertig ist - da ist das FRM-device ganz sicher schon da. Als netten Nebeneffekt wurden die schreibenden Zugriffe von OWX auf '$init_done' überflüssig.

Getestet sowohl mit DS2480, als auch mit Firmata über USB und Netzwerk.

Habe ich auch ins SVN committed.

Gruß,

Norbert
while (!asleep()) {sheep++};

papa

Na dann werde ich morgen mal ein Update machen. Schon mal danke für die schnelle Lösung.
BananaPi + CUL868 + CUL433 + HM-UART + 1Wire

Joachim

Moin Norbert,
beim normalen OWX gibt es das gleiche Problem:

2014.03.21 17:58:16.599 1: Including /mod/external/usr/share/fhem/fhem.cfg
2014.03.21 17:58:18.634 3: telnetPort: port 7072 opened
2014.03.21 17:58:21.080 3: WEB: port 8083 opened
2014.03.21 17:58:22.097 2: eventTypes: loaded 166 events from ./log/eventTypes.txt
2014.03.21 17:58:24.307 3: Opening KrisTech device /dev/ttyUSB1
2014.03.21 17:58:24.336 3: Setting KrisTech baudrate to 9600
2014.03.21 17:58:24.407 3: KrisTech device opened
2014.03.21 17:58:24.409 1: OWX: Serial device /dev/ttyUSB1 defined
2014.03.21 17:58:24.627 1: define OWX_01_3198B7160000 OWX_01_3198B7160000 OWID 01 3198B7160000: OWID: Warning, no 1-Wire I/O device found for OWX_01_3198B7160000.
2014.03.21 17:58:24.648 3: Please define OWX_01_3198B7160000 first
2014.03.21 17:58:24.653 3: Please define OWX_01_3198B7160000 first
2014.03.21 17:58:24.675 3: Please define OWX_01_3198B7160000 first
2014.03.21 17:58:24.681 3: Please define OWX_01_3198B7160000 first
2014.03.21 17:58:25.208 3: OWTHERM: Device OWX_28_4638BA030000 defined.
2014.03.21 17:58:25.859 3: OWMULTI: Device OWX_26_362E27010000 defined.
2014.03.21 17:58:25.986 3: OWTHERM: Device OWX_28_ED3788040000 defined.
2014.03.21 17:58:26.100 3: OWMULTI: Device OWX_26_09FF26010000 defined.
2014.03.21 17:58:26.204 3: OWTHERM: Device OWX_10_1341DD010800 defined.
2014.03.21 17:58:26.324 3: OWMULTI: Device OWX_26_56D626010000 defined.
2014.03.21 17:58:26.426 3: OWTHERM: Device OWX_28_7556BA030000 defined.
2014.03.21 17:58:26.565 3: OWMULTI: Device OWX_26_402E27010000 defined.
2014.03.21 17:58:26.682 3: OWTHERM: Device OWX_28_2845BA030000 defined.
2014.03.21 17:58:26.807 3: OWMULTI: Device OWX_26_89D626010000 defined.
2014.03.21 17:58:26.921 3: OWTHERM: Device OWX_28_6119BA030000 defined.
2014.03.21 17:58:27.048 3: OWMULTI: Device OWX_26_5DD626010000 defined.
2014.03.21 17:58:27.155 3: OWTHERM: Device OWX_28_D08988040000 defined.
2014.03.21 17:58:27.245 3: Opening LinksysUSB device /dev/ttyUSB0
2014.03.21 17:58:27.272 3: Setting LinksysUSB baudrate to 9600
2014.03.21 17:58:27.336 3: LinksysUSB device opened
2014.03.21 17:58:27.338 1: OWX: Serial device /dev/ttyUSB0 defined
2014.03.21 17:58:27.433 3: OWTHERM: Device OWX_10_9AEB01020800 defined.
2014.03.21 17:58:27.508 3: OWTHERM: Device OWX_10_8FEF01020800 defined.
2014.03.21 17:58:27.614 3: OWTHERM: Device OWX_28_B449BA030000 defined.
2014.03.21 17:58:27.711 3: OWTHERM: Device OWX_28_0C2E88040000 defined.
2014.03.21 17:58:27.831 3: OWTHERM: Device OWX_28_2E1BBA030000 defined.
2014.03.21 17:58:27.930 3: OWTHERM: Device OWX_28_2118BA030000 defined.
2014.03.21 17:58:28.016 3: OWTHERM: Device OWX_28_212772040000 defined.
2014.03.21 17:58:28.120 3: OWTHERM: Device OWX_28_A1E265040000 defined.
2014.03.21 17:58:28.234 3: OWTHERM: Device OWX_28_295FBA030000 defined.
2014.03.21 17:58:28.320 3: OWTHERM: Device OWX_28_198B72040000 defined.
2014.03.21 17:58:28.410 3: OWTHERM: Device OWX_28_B930BA030000 defined.
2014.03.21 17:58:28.509 3: OWTHERM: Device OWX_28_559E87040000 defined.
2014.03.21 17:58:28.607 3: OWTHERM: Device OWX_28_8B49BA030000 defined.
2014.03.21 17:58:28.689 3: OWTHERM: Device OWX_28_2F4ABA030000 defined.
2014.03.21 17:58:28.792 3: OWTHERM: Device OWX_28_1FB087040000 defined.
2014.03.21 17:58:28.888 3: OWMULTI: Device OWX_26_680C6A010000 defined.
2014.03.21 17:58:28.978 3: OWMULTI: Device OWX_26_890C6A010000 defined.
2014.03.21 17:58:29.055 3: OWMULTI: Device OWX_26_930C6A010000 defined.
2014.03.21 17:58:29.117 1: define OWX_01_2C5987150000 OWX_01_2C5987150000 OWID 01 2C5987150000: OWID: Warning, no 1-Wire I/O device found for OWX_01_2C5987150000.
2014.03.21 17:58:29.145 3: Please define OWX_01_2C5987150000 first
2014.03.21 17:58:29.177 3: Please define OWX_01_2C5987150000 first
2014.03.21 17:58:29.187 3: Please define OWX_01_2C5987150000 first
2014.03.21 17:58:29.226 3: Please define OWX_01_2C5987150000 first
2014.03.21 17:58:33.619 1: configfile: 0
OWID: Warning, no 1-Wire I/O device found for OWX_01_3198B7160000.
Please define OWX_01_3198B7160000 first
Please define OWX_01_3198B7160000 first
Please define OWX_01_3198B7160000 first
Please define OWX_01_3198B7160000 first
0
OWID: Warning, no 1-Wire I/O device found for OWX_01_2C5987150000.
Please define OWX_01_2C5987150000 first
Please define OWX_01_2C5987150000 first
Please define OWX_01_2C5987150000 first
Please define OWX_01_2C5987150000 first
2014.03.21 17:58:33.646 1: Including ./log/fhem.save
2014.03.21 17:58:35.680 1: statefile: Please define OWX_01_2C5987150000 first
Please define OWX_01_2C5987150000 first
Please define OWX_01_2C5987150000 first
Please define OWX_01_3198B7160000 first
Please define OWX_01_3198B7160000 first
Please define OWX_01_3198B7160000 first
2014.03.21 17:58:35.906 1: OWX: 1-Wire bus KrisTech: interface master DS2480 detected for the first time
2014.03.21 17:58:36.114 1: OWX: 1-Wire bus LinksysUSB: interface master DS2480 re-detected
2014.03.21 17:58:36.142 0: Server started with 52 defined entities (version $Id: fhem.pl 5238 2014-03-16 16:23:31Z rudolfkoenig $, os linux, user fhem, pid 23005)
2014.03.21 17:59:36.074 3: OWID: Device OWX_01_3198B7160000 defined.
2014.03.21 17:59:36.232 1: OWX: 1-Wire devices found on bus KrisTech (OWX_10_1341DD010800,OWX_28_D08988040000,OWX_28_2845BA030000,OWX_28_4638BA030000,OWX_28_6119BA030000,OWX_28_7556BA030000,OWX_28_ED3788040000,OWX_26_402E27010000,OWX_26_56D626010000,OWX_26_362E27010000,OWX_26_09FF26010000,OWX_26_89D626010000,OWX_26_5DD626010000,OWX_01_3198B7160000)
2014.03.21 17:59:51.689 3: OWID: Device OWX_01_2C5987150000 defined.
2014.03.21 17:59:51.851 1: OWX: 1-Wire devices found on bus LinksysUSB (OWX_10_9AEB01020800,OWX_10_8FEF01020800,OWX_28_B449BA030000,OWX_28_0C2E88040000,OWX_28_2E1BBA030000,OWX_28_2118BA030000,OWX_28_212772040000,OWX_28_A1E265040000,OWX_28_295FBA030000,OWX_28_198B72040000,OWX_28_B930BA030000,OWX_28_559E87040000,OWX_28_8B49BA030000,OWX_28_2F4ABA030000,OWX_28_1FB087040000,OWX_26_680C6A010000,OWX_26_890C6A010000,OWX_26_930C6A010000,OWX_01_2C5987150000)


Gruß Joachim
FHEM aktuellste Version auf FB 7570 und 7390 mit Zebradem Toolbox Freetz
FHEM auf Raspberry
1-Wire mit LinkUSBi und Rs-Pi ds2482-800  1-Wire-9 Board; Max mit Cube, HMLAN
div. 1-Wire Sensoren; MAX-Thermostaten; Homematic-Komponenten, Zehnder KWL über RS-232

papa

Hi

jetzt werden die Devices auf dem Bus nicht mehr gefunden :-(


2014.03.21 21:07:32 3: Opening HMLAN device 192.168.2.46:1000
2014.03.21 21:07:32 3: HMLAN device opened
2014.03.21 21:07:32 1: HMLAN_Parse: HMLAN new condition init
2014.03.21 21:07:35 3: OWTHERM: Device temp_Garage defined.
2014.03.21 21:07:35 3: OWTHERM: Device temp_Wohnzimmer defined.
2014.03.21 21:07:35 3: OWTHERM: Device temp_Aussen defined.
2014.03.21 21:07:35 1: Including ./log/fhem.save
2014.03.21 21:07:35 3: Opening Arduino device /dev/ttyACM1
2014.03.21 21:07:35 3: Setting Arduino baudrate to 57600
2014.03.21 21:07:35 3: Arduino device opened
2014.03.21 21:07:37 3: querying Firmata Firmware Version
2014.03.21 21:07:38 3: querying Firmata Firmware Version
2014.03.21 21:07:39 3: Firmata Firmware Version: ConfFirmata.ino V_2_05
2014.03.21 21:07:39 1: OWX: 1-Wire bus OneW1: interface Firmata detected in Arduino
2014.03.21 21:07:39 0: Server started with 81 defined entities (version $Id: fhem.pl 5238 2014-03-16 16:23:31Z rudolfkoenig $, os linux, user root, pid 32055)
2014.03.21 21:07:39 1: HMLAN_Parse: HMLAN new condition ok
2014.03.21 21:07:40 3: Device Tor added to ActionDetector with 028:00 time
2014.03.21 21:07:41 2: CUL_HM set TorSchalter statusRequest
2014.03.21 21:07:42 2: CUL_HM set wz_RolloLinks statusRequest
2014.03.21 21:07:43 2: CUL_HM set wz_RolloRechts statusRequest
2014.03.21 21:07:49 1: OWX: 1-Wire devices found on bus OneW1 ()
BananaPi + CUL868 + CUL433 + HM-UART + 1Wire

ext23

Mhh ich hab auch Probleme, alle 1-Wire Geräte wurden neu erkannt obwohl diese schon deklariert wurden, nur an der Stelle haben sie angeblich kein IO Device gefunden...
HM, KNX, FS20, 1-Wire, PanStamp, AVR-NET-IO, EM1000EM, PCA301, EC3000, HM-LAN, CUL868, RFXtrx433, LGW, DMX @Ubuntu-Server (Hauptsystem) & Raspberry Pi (Satellit)

ntruchsess

schau mal, was bei den Geräten als IODev drinsteht. AssignIOPort setzt nämlich neuerdings das Attribut selber - wenn das dann auf das temporäre Network-device zeigt, dann war's das bei einem Neustart oder rereadcfg. Muss ich noch anpassen. Die IODev-attribute der OWX-devices manuell korrekt setzen sollte aber auch funtktionieren. Kann ich mir aber erst heute abend oder morgen im Laufe des Tages näher ansehen, bin grade auf dem Sprung...

Gruß,

Norbert
while (!asleep()) {sheep++};

ext23

Ich hab nur OWX, die DevIOs stimmen alle, das hatte ich bei den S300TH auch schon als da was geändert wurde. Da hatte ich die DevIO Attribute gelöscht und dann lief es wieder. Hat aber in dem Fall jetzt nicht funktioniert.

Naja egal, ich bin 1 Woche weg und hoffe das es danach wieder funktioniert ;-)

/Daniel
HM, KNX, FS20, 1-Wire, PanStamp, AVR-NET-IO, EM1000EM, PCA301, EC3000, HM-LAN, CUL868, RFXtrx433, LGW, DMX @Ubuntu-Server (Hauptsystem) & Raspberry Pi (Satellit)

ntruchsess

Zitat von: Joachim am 21 März 2014, 19:25:24

2014.03.21 17:58:24.409 1: OWX: Serial device /dev/ttyUSB1 defined
2014.03.21 17:58:24.627 1: define OWX_01_3198B7160000 OWX_01_3198B7160000 OWID 01 3198B7160000: OWID: Warning, no 1-Wire I/O device found for OWX_01_3198B7160000.


Hallo Joachim,

den Fehler habe ich gerade behoben. Wobei das IODev-handling eh überarbeitet gehört (nicht nur in den OWX-devices), es ist einfach sinnlos AssignIOPort in der DefineFn aufzurufen, da ist zum einen das IODev-attribut (noch) nicht bekannt, zum anderen funktioniert es nur, wenn die Reihenfolge in der fhem.cfg stimmt.

Fix ist ins SVN committed.
while (!asleep()) {sheep++};

det.

Hallo Norbert,
Der Fehler trat nicht nur bei OWID sondern auch bei OWLCD auf. Habe meine beiden Displays seit vorgestern gefühlt 4x zurückumbenannt. IODev war / ist korrekt gesetzt.
Umgebung: normales OWX über DS2480 seriell.
LG
det.

ntruchsess

while (!asleep()) {sheep++};

ext23

Super bei mir geht wieder beides, LCD und OWID.

/Daniel
HM, KNX, FS20, 1-Wire, PanStamp, AVR-NET-IO, EM1000EM, PCA301, EC3000, HM-LAN, CUL868, RFXtrx433, LGW, DMX @Ubuntu-Server (Hauptsystem) & Raspberry Pi (Satellit)

papa

Nachdem ich das FRM Device beim OWX mittels IODev angegeben habe, geht es wieder.
BananaPi + CUL868 + CUL433 + HM-UART + 1Wire