Hauptmenü

Firmata+Arduino

Begonnen von Rohan, 31 Januar 2013, 14:31:12

Vorheriges Thema - Nächstes Thema

Tobias

#330
Hallo NOrbert,
vielen Dank für die doch recht ausführliche Antwort :) Diese allgemeinen Grundlagen fehlten zum Verständnis was ich erwarten kjann und was nicht. Habe ich auch  noch nirgends gefunden. Aber ev. ging nur mir das so :(
Ich werde das Ganze mal im WikiArtikel aufarbeiten.

Jetzt zu den Erfolgsmeldungen:
Habe jetzt Firmata_Ext mit im Sketch und prompt Fehlermeldungen in FHEM bekommen.
Ich musste noch manuell ProtoThreads.pm nachladen:
wget --no-check-certificate https://raw.githubusercontent.com/mhop/fhem-mirror/master/fhem/FHEM/lib/ProtoThreads.pm
Könnte man das ev. mit im Standard-FHEM-SVN einchecken?

Als nächstes startete FHEM erst garnicht und ist mit dem Fehler abgebrochen:
error initializing 'owxFRM': unsupported mode '7' for pin '13'
Dadurch das im FRM Device die onewire-pins nicht ausgegeben werden musst ich probieren. Pin 12 ging auch nicht, aber Pin9 = D9 und funktionierte. Wie ich schon weiter oben schrieb wäre es schön wenn diese noch angezeigt werden könnten :)
Manuelles Ändern der fhem.cfg sowie ein restart und mein DS2438 und DS2408 wurden angelegt :)
Yippiiiii :)

Jetzt zu meiner ursprünglichen fehlerhaften Annahme: Du schriebst weiter oben das du den FirmataScheduler genau dafür angedacht hast, aber noch auf der ToDoListe steht, korrekt?
<wunsch-an>
Meine Vision wäre, wenn durch das OWxxx Define die ID und das Intervall im Arduino gespeichert werden würde und dann selbstständig gepollt wird. Bei Änderung des Wertes wird selbstständig ein Push zum FHEM durchgeführt. Das Pollen durch OWX führt dann is Leere da der Arduino ja selbst pollt. Damit hätte man ein 1wireNetz mit Push-Prinzip. Quasi was die FunkSensoren heute schon machen. Ich denke ich habe mich von diesem Thread hier leiten lassen da dieser dies dem Leser suggeriert. Wie ich dich verstanden habe scheitert es am internen Speicher.
Was kann man dagegen tun? Einen Arduino Busmaster mit einem ATMEGA2560 designen? Oder einem Arduino Mini einen externen SRAM-Baustein spendieren? Bei meinem/Justme1968 Innenraumsensor arbeiten wir mit einem ATMEGA2560 und einen externen i2c NVSRAM Speicher mit 1MB
<wunsch-aus>
Alles In Allem: Hut ab und Respekt was du bisher mit FRM geschafft hast :) :)

Edit: für die Nutzung von OWX_ASYNC musste ich noch folgende Module nachladen, FHEM hatte ich vorher per update aber auf den neuesten Stand gebracht:
wget --no-check-certificate https://raw.githubusercontent.com/mhop/fhem-mirror/master/fhem/FHEM/GPUtils.pm
wget --no-check-certificate https://raw.githubusercontent.com/mhop/fhem-mirror/master/fhem/FHEM/OWX_FRM.pm
Maintainer: Text2Speech, TrashCal, MediaList

Meine Projekte: https://github.com/tobiasfaust
* PumpControl v2: allround Bewässerungssteuerung mit ESP und FHEM
* Ein Modbus RS485 zu MQTT Gateway für SolarWechselrichter

ntruchsess

#331
Zitat von: Tobias am 19 Mai 2014, 19:50:52
Ich musste noch manuell ProtoThreads.pm nachladen:
wget --no-check-certificate https://raw.githubusercontent.com/mhop/fhem-mirror/master/fhem/FHEM/lib/ProtoThreads.pm
Könnte man das ev. mit im Standard-FHEM-SVN einchecken?
ist dort schon lange drin: http://sourceforge.net/p/fhem/code/HEAD/tree/trunk/fhem/FHEM/lib/ProtoThreads.pm
sollte eigentlich auch per 'update development' übernommen werden.

Zitat von: Tobias am 19 Mai 2014, 19:50:52
Habe jetzt Firmata_Ext mit im Sketch und prompt Fehlermeldungen in FHEM bekommen.
[...]
Dadurch das im FRM Device die onewire-pins nicht ausgegeben werden musst ich probieren. Pin 12 ging auch nicht, aber Pin9 = D9 und funktionierte. Wie ich schon weiter oben schrieb wäre es schön wenn diese noch angezeigt werden könnten :)
[...]
error initializing 'owxFRM': unsupported mode '7' for pin '13'
diese Meldung spricht sehr dafür, dass die onewire_pins in den Device-details jetzt (mit FirmataExt) wie gewünscht angezeigt werden. Du solltest noch mal gucken  ;-)

Zitat von: Tobias am 19 Mai 2014, 19:50:52
Jetzt zu meiner ursprünglichen fehlerhaften Annahme: Du schriebst weiter oben das du den FirmataScheduler genau dafür angedacht hast, aber noch auf der ToDoListe steht, korrekt?
<wunsch-an>
Meine Vision wäre, wenn durch das OWxxx Define die ID und das Intervall im Arduino gespeichert werden würde und dann selbstständig gepollt wird.[...]Wie ich dich verstanden habe scheitert es am internen Speicher.
Was kann man dagegen tun? Einen Arduino Busmaster mit einem ATMEGA2560 designen?

Im Prinzip ja. Mit ausreichend Speicher wäre das kein Problem. Nur was gewinnt man damit? Die paar Bytes zum Steuern der 1-Wire-firmata brauchen kaum FHEM-seitig kaum Resourcen und mit OWX_ASYNC wird auch nix blockiert. Wenn man einen iButton-leser dauerpolllen will, dann macht das Sinn, sonst eher nicht. Und dafür muss der Arduino auch keine IDs kennen, da muss er einfach 1-Wire-Search machen und alles melden, was er findet (ist ja normalerweise eh nur maximal 1 Device am iButton-leser vorhanden, und dann immer wieder ein anderes). Und für Bandbreitenlimitierte Funkschnittstellen im ISM-Band gibt es (in Bezug auf die Anpassung an die Bedürfnisse der Funkschnittstelle) effizientere Protokolle als das Stream-basierte Firmata-protokoll. Das ist halt dafür optimiert, dass der Firmata-client das Sagen hat. Wenn man echte standalone arbeitende Logik auf dem Arduino will, dann schreibt man dafür einen spezialisierten Sketch, da ist Firmata nicht die richtige Wahl, das ist dafür nicht designt. Dafür hat es eben andere Stärken (wie z.b. sehr große Flexibilität mit einer einzigen Firmware oder äußerst prompte Reaktion auf digitale I/O-ereignisse).

Zitat von: Tobias am 19 Mai 2014, 19:50:52
Edit: für die Nutzung von OWX_ASYNC musste ich noch folgende Module nachladen, FHEM hatte ich vorher per update aber auf den neuesten Stand gebracht:
wget --no-check-certificate https://raw.githubusercontent.com/mhop/fhem-mirror/master/fhem/FHEM/GPUtils.pm
wget --no-check-certificate https://raw.githubusercontent.com/mhop/fhem-mirror/master/fhem/FHEM/OWX_FRM.pm

auch die sollten per 'update development' von selber rüberkommen?

Gruß,

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

ntruchsess

noch eine kleine Ergänzung:
nicht dass der Eindruck entsteht, ich würde eine Architektur a la 'autonom messender Arduino' irgendwie ablehnen. In den OWX-Frontendmodule müsste man die Definitionen der AfterexecuteFn wieder reinschreiben, die verweist dann auf die jeweilige 'BinValues'-funktion, die mittlerweile jedes Frontendmodul besitzt. Und OWX(_ASYNC) müsste man noch ein bischen erweitern, damiut es mit Firmata 1-Wire messages ohne Kontext klarkommt.
Und natürlich einen auf 1-Wire spezialisierten Firmata-sketch schreiben, der eben autonom sendet....
Nur zu, ich bin für Kontributions offen ;-)

Gruß,

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

Tobias

Hi Norbert,
ich habe ein simples "update" gefahren. Kein "update development". Dummerweise benötigen die stable-OW-Module warscheinlich die developmentModule.
Jedenfalls hat ein simples update in meiner Produktivumgebung zur Deaktivierung von OWMULTI/OWSWITCH etc geführt. Ein Einspielen des Backup brachte alles wieder zum Laufen.
Was ich damit dagen wollte, liegt es an mir oder müssen die abhängigen DevelopmentModule mit in den MainTree?

ICh bin jetzt am testen mit ASYNC, poste dann aber im async Thread.
Danke dir für die Unterstützung. Ich poste dann hier wieder wenn es an an die Einbindung mit dem DS2482 geht...
Maintainer: Text2Speech, TrashCal, MediaList

Meine Projekte: https://github.com/tobiasfaust
* PumpControl v2: allround Bewässerungssteuerung mit ESP und FHEM
* Ein Modbus RS485 zu MQTT Gateway für SolarWechselrichter

Tobias

Hallo Norbert,
Zitat von: ntruchsess am 19 Mai 2014, 23:26:13
diese Meldung spricht sehr dafür, dass die onewire_pins in den Device-details jetzt (mit FirmataExt) wie gewünscht angezeigt werden. Du solltest noch mal gucken  ;-)

Ich kann mir nicht helfen, ich find Sie ums verrecken nicht...


Internals:
   CONNECTS   1
   DEF        3030 global
   DeviceName 3030
   FD         19
   NAME       MyFRM
   NOTIFYDEV  global
   NR         96
   NTFY_ORDER 50-MyFRM
   PORT       3030
   STATE      Initialized
   TYPE       FRM
   firmware   ConfigurableFirmata.ino
   firmware_version V_2_06
   CHANGETIME:
   Readings:
     2014-05-20 09:18:24   error           Unhandled sysex command
   Socketdevice:
     BUF
     DeviceName 3030
     FD         20
     NAME       FRM:192.168.10.19:1036
     NR         100
     SNAME      MyFRM
     STATE      Connected
     TEMPORARY  1
     TYPE       FRM
Attributes:
   room       OWX


PS: habe das Wiki nochmal angepasst
Maintainer: Text2Speech, TrashCal, MediaList

Meine Projekte: https://github.com/tobiasfaust
* PumpControl v2: allround Bewässerungssteuerung mit ESP und FHEM
* Ein Modbus RS485 zu MQTT Gateway für SolarWechselrichter

T.ihmann

Zitat von: ntruchsess am 19 Mai 2014, 12:48:16Zitat von: Tobias am 19 Mai 2014, 08:06:26
Auch schmiert FHEM immer ab wenn der Arduino vom Netz getrennt wird
Ja, hab ich schon mitgekriegt, Fix ist in Arbeit ;-)

Dieser Fix würde mich sehr interessieren. Im Moment schmiert Fhem einmal pro Tag ab, weil der Arduino nicht mehr gefunden wird -> nicht geeignet für eine Produktivumgebung. Hat dieser Fix etwas mit OWX asyncron zu tun oder ist das ein anderes Problem ?

Tobias

Hallo Norbert,
Den Arduino schalte ich abends immer aus. Bei Anschalten heute morgen hatte ich folgendes Phänomen bei den freezes:

2014.05.21 05:44:30 3: querying Firmata Firmware Version
2014.05.21 05:44:30 3: Firmata Firmware Version: ConfigurableFirmata.ino V_2_06
2014.05.21 05:44:30 3: received String_data: Unhandled sysex command
2014.05.21 05:44:32 1: possible freeze: timer should 03:44:28, delay is 4.16706490516663
2014.05.21 05:44:32 3: received String_data: Unhandled sysex command
2014.05.21 05:44:36 1: possible freeze: timer should 03:44:34, delay is 1.44242382049561
2014.05.21 05:44:39 1: possible freeze: timer should 03:44:37, delay is 2.23392105102539
2014.05.21 05:44:43 1: possible freeze: timer should 03:44:40, delay is 3.05241394042969
2014.05.21 05:44:46 3: OWTHERM: Device OWX_28_F6A72A040000 defined.
2014.05.21 05:44:46 3: OWTHERM: Device OWX_28_25B52A040000 defined.
2014.05.21 05:44:47 2: OWX: 1-Wire devices found on bus owxFRM (OWX_28_F6A72A040000,OWX_28_25B52A040000,OWX_28_2DB12A040000,OWX_28_EFAC2A040000,OWX_26_3D2E27010000,O$
2014.05.21 05:44:49 1: possible freeze: timer should 03:44:44, delay is 4.72820019721985
2014.05.21 05:44:55 1: possible freeze: timer should 03:44:50, delay is 4.68467998504639
2014.05.21 05:45:01 1: possible freeze: timer should 03:44:56, delay is 5.52330183982849
2014.05.21 05:45:10 1: possible freeze: timer should 03:45:02, delay is 7.74322819709778
2014.05.21 05:45:19 1: possible freeze: timer should 03:45:11, delay is 7.86965990066528
2014.05.21 05:45:28 1: possible freeze: timer should 03:45:20, delay is 8.67838597297668
2014.05.21 05:45:39 1: possible freeze: timer should 03:45:29, delay is 9.47321009635925
2014.05.21 05:45:51 1: possible freeze: timer should 03:45:40, delay is 11.1279678344727
2014.05.21 05:46:03 1: possible freeze: timer should 03:45:52, delay is 11.0893700122833
2014.05.21 05:46:16 1: possible freeze: timer should 03:46:04, delay is 11.956127166748
2014.05.21 05:46:30 1: possible freeze: timer should 03:46:17, delay is 12.7660098075867
2014.05.21 05:46:44 1: possible freeze: timer should 03:46:31, delay is 13.606724023819
2014.05.21 05:47:00 1: possible freeze: timer should 03:46:45, delay is 14.3072431087494
2014.05.21 05:47:16 1: possible freeze: timer should 03:47:01, delay is 15.1567580699921
2014.05.21 05:47:33 1: possible freeze: timer should 03:47:17, delay is 15.916473865509
2014.05.21 05:47:51 1: possible freeze: timer should 03:47:34, delay is 16.8377499580383
2014.05.21 05:48:09 1: possible freeze: timer should 03:47:52, delay is 17.5270171165466
2014.05.21 05:48:29 1: possible freeze: timer should 03:48:10, delay is 18.5397200584412
2014.05.21 05:48:41 3: set CULMAX0 fakeWT HZ_Bad 10.0 22.2
2014.05.21 05:48:49 1: possible freeze: timer should 03:48:30, delay is 19.2941839694977
2014.05.21 05:49:10 1: possible freeze: timer should 03:48:50, delay is 20.075101852417
2014.05.21 05:49:32 1: possible freeze: timer should 03:49:11, delay is 20.8146159648895
2014.05.21 05:49:55 1: possible freeze: timer should 03:49:33, delay is 21.6062231063843


Meine fhem.cfg im Ausschnitt:
define MyFRM FRM 3030 global
attr MyFRM room OWX
define owxFRM OWX_ASYNC 9
attr owxFRM IODev MyFRM
attr owxFRM room OWX
define OWX_26_3D2E27010000 OWMULTI DS2438 3D2E27010000
attr OWX_26_3D2E27010000 DbLogExclude .*
attr OWX_26_3D2E27010000 IODev owxFRM
attr OWX_26_3D2E27010000 model DS2438
attr OWX_26_3D2E27010000 room OWX
define OWX_29_8A0E11000000 OWSWITCH DS2408 8A0E11000000
attr OWX_29_8A0E11000000 DbLogExclude .*
attr OWX_29_8A0E11000000 IODev owxFRM
attr OWX_29_8A0E11000000 model DS2408
attr OWX_29_8A0E11000000 room OWX
define OWX_28_F6A72A040000 OWTHERM DS18B20 F6A72A040000
attr OWX_28_F6A72A040000 DbLogExclude .*
attr OWX_28_F6A72A040000 IODev owxFRM
attr OWX_28_F6A72A040000 model DS1822
attr OWX_28_F6A72A040000 room OWX


Plus noch 3 weitere DS18B20 nach gleichem Schema. Nach einem Restart läuft es wieder.

Nachdem ich das Intervall des DS2408 auf 1sek und die Intervall der anderen auf 5sek heruntergedreht habe, habe ich sehr oft kurze freezes. Muss ich bei OWX_ASYNC noch etwas einstellen?
2014.05.21 07:49:04 1: possible freeze: timer should 05:49:03, delay is 1.04655909538269
2014.05.21 07:49:14 1: possible freeze: timer should 05:49:13, delay is 1.33024215698242
2014.05.21 07:49:19 1: possible freeze: timer should 05:49:18, delay is 1.11995792388916
2014.05.21 07:49:29 1: possible freeze: timer should 05:49:28, delay is 1.2128849029541
2014.05.21 07:49:39 1: possible freeze: timer should 05:49:38, delay is 1.21618890762329
2014.05.21 07:49:49 1: possible freeze: timer should 05:49:48, delay is 1.20056104660034
2014.05.21 07:49:59 1: possible freeze: timer should 05:49:58, delay is 1.00980997085571
2014.05.21 07:50:39 1: possible freeze: timer should 05:50:38, delay is 1.14530396461487
2014.05.21 07:50:41 1: possible freeze: timer should 05:50:40, delay is 1.02528691291809

PS: Bitte nicht auf die Sinnhaftigkeit von einem 5sek Intervall bei den DS18B20 nachdenken ;) Im Produktivsystem sollen später 10x DS2408/DS2406 im 1-3sek Intervall pro Busmaster abgefragt werden.
Keine Ahnung ob das in den ASYNC-Thread gehört oder hier bzgl Firmata...
Maintainer: Text2Speech, TrashCal, MediaList

Meine Projekte: https://github.com/tobiasfaust
* PumpControl v2: allround Bewässerungssteuerung mit ESP und FHEM
* Ein Modbus RS485 zu MQTT Gateway für SolarWechselrichter

ntruchsess

Zitat von: T.ihmann am 20 Mai 2014, 22:51:52
Im Moment schmiert Fhem einmal pro Tag ab, weil der Arduino nicht mehr gefunden wird[...]Hat dieser Fix etwas mit OWX asyncron zu tun oder ist das ein anderes Problem ?
Die OWX-Frontendmodule sind (noch) nicht für ein temporäres Verschwinden und Wiederverbindendes Busmasters ausgelegt, das macht auf jeden Fall noch Schluckauf. Ob Du noch ein anderes Problem damit hast, kann ich mangels genauerer Fehlerbeschreibung nicht sagen. Wenn FHEM 'abschmiert' (also den fhem.pl prozess beendet), würde ich gerne wissen, welche Fehlermeldung auf der Konsole erscheint (ggf. fhem.pl einfach manuel von der Kommandozeile starten und das Fenster geöffnet lassen).

Gruß,

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

Tobias

Hallo Norbert,
kannst du etwas zu meinen Freezes oben sagen was ich falsch mache? Hast du eine Idee? Oder jemand anderes?
Ist sogar reproduzierbar.
GErade eben habe ich FHEM neu gestartet. Die Intervalle meiner 6 Devices liegen bei 5sek. And gleich ab Start erhöhen sich die Freezes alle Minute um eine sekunde

2014.05.21 18:21:30 3: querying Firmata Firmware Version
2014.05.21 18:21:30 3: Firmata Firmware Version: ConfigurableFirmata.ino V_2_06
2014.05.21 18:21:30 3: received String_data: Unhandled sysex command
2014.05.21 18:21:32 1: possible freeze: timer should 16:21:27, delay is 4.11132311820984
2014.05.21 18:21:32 3: received String_data: Unhandled sysex command
2014.05.21 18:21:36 1: possible freeze: timer should 16:21:33, delay is 3.10706496238708
2014.05.21 18:21:42 2: OWX: 1-Wire devices found on bus owxFRM (OWX_28_F6A72A040000,OWX_28_25B52A040000,OWX_28_2DB12A040000,OWX_28_EFAC2A040000,OWX_26_3D2E27010000,OWX_29_8A0E11000000)
2014.05.21 18:22:22 1: possible freeze: timer should 16:22:21, delay is 1.09562587738037
2014.05.21 18:25:11 1: possible freeze: timer should 16:25:10, delay is 1.00993204116821
2014.05.21 18:32:11 1: possible freeze: timer should 16:32:10, delay is 1.04083919525146
Use of uninitialized value in addition (+) at FHEM/lib/Device/Firmata/Protocol.pm line 206.
2014.05.21 18:32:51 1: possible freeze: timer should 16:32:50, delay is 1.28742718696594
2014.05.21 18:32:54 1: possible freeze: timer should 16:32:52, delay is 1.45405077934265
2014.05.21 18:32:56 1: possible freeze: timer should 16:32:55, delay is 1.33058905601501
2014.05.21 18:32:59 1: possible freeze: timer should 16:32:57, delay is 1.78740096092224
2014.05.21 18:33:02 1: possible freeze: timer should 16:33:00, delay is 2.02476906776428
2014.05.21 18:33:06 1: possible freeze: timer should 16:33:03, delay is 3.3959641456604
2014.05.21 18:33:10 1: possible freeze: timer should 16:33:07, delay is 3.06353282928467
2014.05.21 18:33:15 1: possible freeze: timer should 16:33:11, delay is 3.76115393638611
2014.05.21 18:33:20 1: possible freeze: timer should 16:33:16, delay is 3.63669204711914
2014.05.21 18:33:25 1: possible freeze: timer should 16:33:21, delay is 4.54132318496704
2014.05.21 18:33:31 1: possible freeze: timer should 16:33:26, delay is 5.04398584365845
2014.05.21 18:33:38 1: possible freeze: timer should 16:33:32, delay is 5.20851802825928
2014.05.21 18:33:44 1: possible freeze: timer should 16:33:39, delay is 5.8185019493103
2014.05.21 18:33:52 1: possible freeze: timer should 16:33:45, delay is 6.33954906463623
2014.05.21 18:33:59 1: possible freeze: timer should 16:33:53, delay is 6.33356690406799
2014.05.21 18:34:07 1: possible freeze: timer should 16:34:00, delay is 6.74962520599365
2014.05.21 18:34:15 1: possible freeze: timer should 16:34:08, delay is 7.47924184799194
2014.05.21 18:34:24 1: possible freeze: timer should 16:34:16, delay is 7.9153299331665
2014.05.21 18:34:34 1: possible freeze: timer should 16:34:25, delay is 8.46360421180725
2014.05.21 18:34:44 1: possible freeze: timer should 16:34:35, delay is 8.95366477966309
2014.05.21 18:34:54 1: possible freeze: timer should 16:34:45, delay is 9.87611103057861
2014.05.21 18:35:06 1: possible freeze: timer should 16:34:55, delay is 10.0356090068817
2014.05.21 18:35:16 1: possible freeze: timer should 16:35:07, delay is 9.95836114883423
2014.05.21 18:35:29 1: possible freeze: timer should 16:35:17, delay is 11.2512488365173
2014.05.21 18:35:41 1: possible freeze: timer should 16:35:30, delay is 11.3728280067444
2014.05.21 18:35:54 1: possible freeze: timer should 16:35:42, delay is 11.6626491546631
2014.05.21 18:36:07 1: possible freeze: timer should 16:35:55, delay is 12.214653968811
2014.05.21 18:36:21 1: possible freeze: timer should 16:36:08, delay is 12.6083030700684
2014.05.21 18:36:35 1: possible freeze: timer should 16:36:22, delay is 13.1050088405609
2014.05.21 18:36:49 1: possible freeze: timer should 16:36:36, delay is 13.7609691619873
2014.05.21 18:37:05 1: possible freeze: timer should 16:36:50, delay is 14.756865978241
2014.05.21 18:37:22 1: possible freeze: timer should 16:37:06, delay is 15.448333978653
2014.05.21 18:37:38 1: possible freeze: timer should 16:37:23, delay is 15.1541199684143
2014.05.21 18:37:55 1: possible freeze: timer should 16:37:39, delay is 15.7820029258728
2014.05.21 18:38:12 1: possible freeze: timer should 16:37:56, delay is 16.3231401443481
2014.05.21 18:38:30 1: possible freeze: timer should 16:38:13, delay is 16.9220848083496
2014.05.21 18:38:49 1: possible freeze: timer should 16:38:31, delay is 17.8170690536499
2014.05.21 18:39:08 1: possible freeze: timer should 16:38:50, delay is 18.8117890357971
2014.05.21 18:39:28 1: possible freeze: timer should 16:39:09, delay is 18.6175510883331
2014.05.21 18:39:48 1: possible freeze: timer should 16:39:29, delay is 19.0862638950348
2014.05.21 18:40:09 1: possible freeze: timer should 16:39:49, delay is 19.6078469753265
2014.05.21 18:40:31 1: possible freeze: timer should 16:40:10, delay is 20.8426570892334
2014.05.21 18:40:53 1: possible freeze: timer should 16:40:32, delay is 21.4144489765167
2014.05.21 18:41:16 1: possible freeze: timer should 16:40:54, delay is 21.8636450767517
2014.05.21 18:41:39 1: possible freeze: timer should 16:41:17, delay is 22.3144099712372
2014.05.21 18:42:03 1: possible freeze: timer should 16:41:40, delay is 23.0152409076691
2014.05.21 18:42:27 1: possible freeze: timer should 16:42:04, delay is 23.013130903244
2014.05.21 18:42:52 1: possible freeze: timer should 16:42:28, delay is 23.8629190921783
2014.05.21 18:43:17 1: possible freeze: timer should 16:42:53, delay is 24.050724029541
2014.05.21 18:43:43 1: possible freeze: timer should 16:43:18, delay is 24.5271320343018
2014.05.21 18:44:09 1: possible freeze: timer should 16:43:44, delay is 25.3856198787689
2014.05.21 18:44:36 1: possible freeze: timer should 16:44:10, delay is 25.5516941547394
2014.05.21 18:45:03 1: possible freeze: timer should 16:44:37, delay is 26.6178448200226
2014.05.21 18:45:32 1: possible freeze: timer should 16:45:04, delay is 27.4679710865021
2014.05.21 18:46:00 1: possible freeze: timer should 16:45:33, delay is 27.5050749778748
2014.05.21 18:46:30 1: possible freeze: timer should 16:46:01, delay is 28.6605319976807
2014.05.21 18:47:00 1: possible freeze: timer should 16:46:31, delay is 29.1207430362701
2014.05.21 18:47:30 1: possible freeze: timer should 16:47:01, delay is 29.0245718955994
2014.05.21 18:48:01 1: possible freeze: timer should 16:47:31, delay is 29.6257719993591
2014.05.21 18:48:32 1: possible freeze: timer should 16:48:02, delay is 30.5094630718231
2014.05.21 18:49:04 1: possible freeze: timer should 16:48:33, delay is 30.6545879840851
2014.05.21 18:49:36 1: possible freeze: timer should 16:49:05, delay is 31.5840620994568
2014.05.21 18:50:09 1: possible freeze: timer should 16:49:37, delay is 31.865464925766
2014.05.21 18:50:43 1: possible freeze: timer should 16:50:10, delay is 32.7615010738373
2014.05.21 18:51:17 1: possible freeze: timer should 16:50:44, delay is 33.2562880516052
2014.05.21 18:51:52 1: possible freeze: timer should 16:51:18, delay is 34.1289780139923
2014.05.21 18:52:28 1: possible freeze: timer should 16:51:53, delay is 34.4205389022827
2014.05.21 18:53:04 1: possible freeze: timer should 16:52:29, delay is 35.0394690036774
2014.05.21 18:53:40 1: possible freeze: timer should 16:53:05, delay is 34.8253629207611
2014.05.21 18:54:17 1: possible freeze: timer should 16:53:41, delay is 36.5087630748749
[...]
Maintainer: Text2Speech, TrashCal, MediaList

Meine Projekte: https://github.com/tobiasfaust
* PumpControl v2: allround Bewässerungssteuerung mit ESP und FHEM
* Ein Modbus RS485 zu MQTT Gateway für SolarWechselrichter

ntruchsess

Hallo Tobias,

wie ich Tillman schon geschrieben habe, das Abstecken und Wiederverbinden funktioniert mit den OWX-Frontendmodulen noch nicht (und hat auch noch nie sauber funktioniert). Da muss ich in den Modulen erst mal die (Re-)Initialisierung überarbeiten, die laufen beim FHEM-start los und pollen im eingestellten Interval ohne auf den Status des OWX-devices zu achten. Das führt dann zu den freezes (kann ich auch ohne weiteres reproduzieren). Ist kein wirkliches FRM/Firmata-problem, wirkt sich aber in Verbindung mit dem über Netzwerk angebundenen Arduino unschön aus (weil die Netzverbindung ja erst mal in Timeouts laufen muss, bevor OWX(_ASYNC) das überhaupt merken kann).

Gruß,

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

T.ihmann

Zitat von: ntruchsess am 21 Mai 2014, 10:08:48Wenn FHEM 'abschmiert' (also den fhem.pl prozess beendet), würde ich gerne wissen, welche Fehlermeldung auf der Konsole erscheint (ggf. fhem.pl einfach manuel von der Kommandozeile starten und das Fenster geöffnet lassen).

Ich habe jetzt Fhem mal mit

./fhem.pl fhem.cfg > log.txt 2>&1

gestartet. Jetzt sollte ja hoffentlich irgendwann eine Fhem Fehlermeldung in die Datei geloggt werden. Soll ich Fhem mit weiteren Parametern starten ? Fhem scheint auf der Kommandozeile bislang nicht sehr gesprächig....

ntruchsess

nein keine weiteren Parameter nötig. Auf der Commandozeile kommen nur Laufzeitfehler des perl-prozesses, d.h. in der Regel ist da einfach Stille. Nur wenn fhem.pl mit einem Laufzeitfehler abstürzt, dann ist eben genau der Fehler nicht im Log, sondern auf dern Konsole...
while (!asleep()) {sheep++};

Tobias

Norbert, danke für die Antwort. Ist also dasselbe Problem. Dann warte ich auf die nächste Version... bzw mach mit meinen DS2482 Tests weiter.
Nebenbei arbeite ich am Layout für ein Hutschienenmodul sowohl mit, als auch ohne DS2482. Soll ich für Fragen zum 1wireFirmata+DS2482 einen eigenen Thread aufmachen?
Maintainer: Text2Speech, TrashCal, MediaList

Meine Projekte: https://github.com/tobiasfaust
* PumpControl v2: allround Bewässerungssteuerung mit ESP und FHEM
* Ein Modbus RS485 zu MQTT Gateway für SolarWechselrichter

ntruchsess

Zitat von: Tobias am 22 Mai 2014, 07:40:10Soll ich für Fragen zum 1wireFirmata+DS2482 einen eigenen Thread aufmachen?
ja, macht Sinn...
while (!asleep()) {sheep++};

Tobias

Hallo Norbert,
diesmal kein Disconnect ;)
Den ganzen Vormittag ist der Busmaster sauber ohne freezes gelaufen.
Folgender Fehler erscheint plötzlich im Log, danach schaukelten sich die Freezes hoch. Musste FHEM restarten....
Use of uninitialized value in addition (+) at FHEM/lib/Device/Firmata/Protocol.pm line 206.
2014.05.22 15:44:35 1: possible freeze: timer should 13:44:34, delay is 1.04684615135193
2014.05.22 15:44:41 1: possible freeze: timer should 13:44:39, delay is 1.37943196296692
2014.05.22 15:44:43 1: possible freeze: timer should 13:44:42, delay is 1.29942202568054
2014.05.22 15:44:46 1: possible freeze: timer should 13:44:44, delay is 1.83002901077271
2014.05.22 15:44:49 1: possible freeze: timer should 13:44:47, delay is 1.78572702407837
2014.05.22 15:44:52 1: possible freeze: timer should 13:44:50, delay is 2.2315239906311
2014.05.22 15:44:55 1: possible freeze: timer should 13:44:53, delay is 1.92627596855164
2014.05.22 15:44:59 1: possible freeze: timer should 13:44:56, delay is 2.77701687812805
2014.05.22 15:45:02 1: possible freeze: timer should 13:45:00, delay is 2.40023708343506
2014.05.22 15:45:05 1: possible freeze: timer should 13:45:03, delay is 2.35229110717773
2014.05.22 15:45:09 1: possible freeze: timer should 13:45:06, delay is 2.44162082672119
2014.05.22 15:45:12 1: possible freeze: timer should 13:45:10, delay is 2.44399404525757
2014.05.22 15:45:17 1: possible freeze: timer should 13:45:13, delay is 3.49837708473206
2014.05.22 15:45:21 1: possible freeze: timer should 13:45:18, delay is 3.37428498268127
[...]
Maintainer: Text2Speech, TrashCal, MediaList

Meine Projekte: https://github.com/tobiasfaust
* PumpControl v2: allround Bewässerungssteuerung mit ESP und FHEM
* Ein Modbus RS485 zu MQTT Gateway für SolarWechselrichter