Autor Thema: Absturz bei definition von OWX Device (Firmata)  (Gelesen 1050 mal)

Offline Audi_Coupe_S

  • New Member
  • *
  • Beiträge: 7
Absturz bei definition von OWX Device (Firmata)
« am: 14 März 2018, 09:07:59 »
Hallo,

ich versuche, einen 1-Wire Bus über Firmata / Ethernet auf einem Arduino ans laufen zu bringen.

An Definitionen in Fhem habe ich folgendes vorgenommen:

define Arduino FRM 3030 global
attr Arduino room 700-DIVERSES
attr Arduino sampling-interval 30

define PINA8 FRM_AD 62
attr PINA8 IODev Arduino
attr PINA8 event-min-interval reading:10
attr PINA8 stateFormat reading

define PIND3 FRM_OUT 3
attr PIND3 IODev Arduino
attr PIND3 event-min-interval reading:10
attr PIND3 stateFormat reading

define PIND2 FRM_IN 2
attr PIND2 IODev Arduino
attr PIND2 event-min-interval reading:10
attr PIND2 stateFormat reading

Analogwerte einlesen und digitale I/O funktionieren problemlos.
Jetzt wollte ich ein Device für 1-Wire anlegen. Leider schmiert mir dabei Fhem immer ab.....

define Test OWX Arduino:5

Sobald ich das versuche, hängt Fhem sich weg.

Im Log erscheinen dann folgende Fehler:

2018.03.14 07:11:59 1: PERL WARNING: "my" variable $self masks earlier declaration in same scope at ./FHEM/11_OWX_FRM.pm line 125.
2018.03.14 07:11:59 1: PERL WARNING: "state" variable @_ masks earlier declaration in same scope at ./FHEM/11_OWX_FRM.pm line 125.
2018.03.14 07:11:59 1: PERL WARNING: "my" variable $hash masks earlier declaration in same scope at ./FHEM/11_OWX_FRM.pm line 126.
2018.03.14 07:11:59 1: PERL WARNING: "my" variable $self masks earlier declaration in same scope at ./FHEM/11_OWX_FRM.pm line 153.
2018.03.14 07:11:59 1: PERL WARNING: "state" variable @_ masks earlier declaration in same scope at ./FHEM/11_OWX_FRM.pm line 153.
2018.03.14 07:11:59 1: PERL WARNING: "my" variable $hash masks earlier declaration in same scope at ./FHEM/11_OWX_FRM.pm line 154.
2018.03.14 07:11:59 1: PERL WARNING: "my" variable $pin masks earlier declaration in same scope at ./FHEM/11_OWX_FRM.pm line 160.
2018.03.14 07:11:59 1: PERL WARNING: Bareword found where operator expected at ./FHEM/11_OWX_FRM.pm line 188, near "STARTING INIT"
2018.03.14 07:11:59 1: PERL WARNING:    (Do you need to predeclare STARTING?)
2018.03.14 07:11:59 1: PERL WARNING: Misplaced _ in number at ./FHEM/11_OWX_FRM.pm line 188.
2018.03.14 07:11:59 1: PERL WARNING: Bareword found where operator expected at ./FHEM/11_OWX_FRM.pm line 188, near "11_OWX_FRM"
2018.03.14 07:11:59 1: PERL WARNING:    (Missing operator before OWX_FRM?)
2018.03.14 07:11:59 1: PERL WARNING: String found where operator expected at ./FHEM/11_OWX_FRM.pm line 188, near "$msg = ""
2018.03.14 07:11:59 1: PERL WARNING:    (Missing semicolon on previous line?)
2018.03.14 07:11:59 1: PERL WARNING: String found where operator expected at ./FHEM/11_OWX_FRM.pm line 188, near "main::Log3 $name,1,""
2018.03.14 07:11:59 1: PERL WARNING: String found where operator expected at ./FHEM/11_OWX_FRM.pm line 188, near "if ( main::AttrVal($hash->{NAME},""
2018.03.14 07:11:59 1: PERL WARNING: String found where operator expected at ./FHEM/11_OWX_FRM.pm line 188, near "buspower",""
2018.03.14 07:11:59 1: PERL WARNING: String found where operator expected at ./FHEM/11_OWX_FRM.pm line 188, near "","") eq ""
2018.03.14 07:11:59 1: PERL WARNING:    (Missing operator before ") eq "?)
2018.03.14 07:11:59 1: PERL WARNING: Bareword found where operator expected at ./FHEM/11_OWX_FRM.pm line 188, near "") eq "parasitic"
2018.03.14 07:11:59 1: PERL WARNING:    (Missing operator before parasitic?)
2018.03.14 07:11:59 1: PERL WARNING: String found where operator expected at ./FHEM/11_OWX_FRM.pm line 188, near "$hash->{STATE}=""
2018.03.14 07:11:59 1: PERL WARNING: String found where operator expected at ./FHEM/11_OWX_FRM.pm line 188, near "main::InternalTimer(main::gettimeofday()+10, ""
2018.03.14 07:11:59 1: PERL WARNING: Bareword found where operator expected at ./FHEM/11_OWX_FRM.pm line 189, near "main::InternalTimer(main::gettimeofday()+10, "OWX_Discover"
  (Might be a runaway multi-line "" string starting on line 188)
2018.03.14 07:11:59 1: PERL WARNING: String found where operator expected at ./FHEM/11_OWX_FRM.pm line 189, near "my $res = ""
2018.03.14 07:11:59 1: PERL WARNING: String found where operator expected at ./FHEM/11_OWX_FRM.pm line 189, near "my @data = unpack ""
2018.03.14 07:11:59 1: PERL WARNING: String found where operator expected at ./FHEM/11_OWX_FRM.pm line 189, near "my $times = main::AttrVal($hash,""
2018.03.14 07:11:59 1: PERL WARNING: String found where operator expected at ./FHEM/11_OWX_FRM.pm line 189, near "main::OWX_WDBGL($name,5,""
syntax error at ./FHEM/11_OWX_FRM.pm line 62, near "}"
Global symbol "$class" requires explicit package name (did you forget to declare "my $class"?) at ./FHEM/11_OWX_FRM.pm line 62.
Can't use global @_ in "my" at ./FHEM/11_OWX_FRM.pm line 76, near "= @_"
Global symbol "$self" requires explicit package name (did you forget to declare "my $self"?) at ./FHEM/11_OWX_FRM.pm line 77.
syntax error at ./FHEM/11_OWX_FRM.pm line 114, near "}"
Can't use global @_ in "my" at ./FHEM/11_OWX_FRM.pm line 125, near "= @_"
syntax error at ./FHEM/11_OWX_FRM.pm line 142, near "}"
Can't use global @_ in "my" at ./FHEM/11_OWX_FRM.pm line 153, near "= @_"
syntax error at ./FHEM/11_OWX_FRM.pm line 179, near "}"
"no" not allowed in expression at ./FHEM/11_OWX_FRM.pm line 189, at end of line
./FHEM/11_OWX_FRM.pm has too many errors.
Compilation failed in require at ./FHEM/00_OWX.pm line 199.

Was mache ich falsch?
Ich habe sowohl im Commandref als auch im Forum schon sehr viel gelesen, aber ich komme leider nicht weiter.
Vielleicht kann mir hier jemand helfen.

Ein Update bringt "nothing to do", also sollten auch alle Module aktuell sein.

Vielen Dank schonmal,
Michael





Offline Prof. Dr. Peter Henning

  • Developer
  • Hero Member
  • ****
  • Beiträge: 6089
Antw:Absturz bei definition von OWX Device (Firmata)
« Antwort #1 am: 14 März 2018, 16:40:43 »
Welche Version von 11_OWX_FRM.pm ?

LG

pah

Offline Audi_Coupe_S

  • New Member
  • *
  • Beiträge: 7
Antw:Absturz bei definition von OWX Device (Firmata)
« Antwort #2 am: 14 März 2018, 18:47:51 »
Wie finde ich das heraus?
Bei Abfrage von "Version" taucht das Modul nicht auf....
« Letzte Änderung: 14 März 2018, 18:52:25 von Audi_Coupe_S »

Offline Audi_Coupe_S

  • New Member
  • *
  • Beiträge: 7
Antw:Absturz bei definition von OWX Device (Firmata)
« Antwort #3 am: 14 März 2018, 18:55:40 »
In der Datei unter /opt/fhem/FHEM steht:

$Id: 11_OWX_FRM.pm 16362 2018-03-09 17:18:43Z phenning $

Offline Tom Major

  • Full Member
  • ***
  • Beiträge: 235
    • TomMajor@github
Antw:Absturz bei definition von OWX Device (Firmata)
« Antwort #4 am: 15 März 2018, 00:43:51 »
zur Fehlermeldung selbst kann ich leider nichts sagen, aber Du könntest mal alternativ OWX_ASYNC probieren. So was läuft bei mir seit Jahren mit 2 Sensoren an einem Pin sehr stabil:
# DS18X20 PA2 D26
define io_FRM1_OWBus_1 OWX_ASYNC 26
attr io_FRM1_OWBus_1 IODev FRM1
attr io_FRM1_OWBus_1 buspower real
# Temperatursensor 1
define io_FRM1_Temp_1 OWTHERM 10.C6BA0A020800 300
attr io_FRM1_Temp_1 IODev io_FRM1_OWBus_1
attr io_FRM1_Temp_1 model DS1820

(FRM1 wäre bei Dir Arduino)
FHEM 5.x auf Raspberry Pi 3 | OWServer mit I2C/DS2482 | 1-Wire 6fach S0-Stromzähler ATtiny/DS2423 Emu. | Heizungs-Mon. mit Firmata (mighty-1284p) | Ölstand-Mon. mit Ultraschall, RFM69 und JeeLink
RaspberryMatic HM Zentrale | diverse HM Devices | AskSinPP Devices

Offline Audi_Coupe_S

  • New Member
  • *
  • Beiträge: 7
Antw:Absturz bei definition von OWX Device (Firmata)
« Antwort #5 am: 15 März 2018, 06:35:17 »
Hallo Tom Major,

vielen Dank, damit bekomme ich sofort einen Temperaturwert.

 :)

Gruß
Michael

Offline Prof. Dr. Peter Henning

  • Developer
  • Hero Member
  • ****
  • Beiträge: 6089
Antw:Absturz bei definition von OWX Device (Firmata)
« Antwort #6 am: 15 März 2018, 07:32:41 »
 ::)Das mag ja sein.

Allerdings darf ich anmerken: OWX_ASYNC wird nicht weiterentwickelt, und die Unterstützung dafür fliegt aus den Frontendmodulen demnächst raus.

Ich rate, einfach die aktuelle Version von OWX_FRM zu verwenden.


pah

 


Offline Audi_Coupe_S

  • New Member
  • *
  • Beiträge: 7
Antw:Absturz bei definition von OWX Device (Firmata)
« Antwort #7 am: 15 März 2018, 08:48:47 »
AHA.

Und wie wäre die aktuelle Version, wo bekomme ich sie her und wie installiere ich sie?

Gruß
Michael

Offline jensb

  • Developer
  • Sr. Member
  • ****
  • Beiträge: 555
    • GitHub Projekte
Antw:Absturz bei definition von OWX Device (Firmata)
« Antwort #8 am: 17 März 2018, 13:03:02 »
Hallo Michael,

"aktuelle" Modul-Versionen bekommst du, indem du "udpate" in die FHEM-Kommandozeile eintippst und am Ende "shutdown restart" sagst.

Um speziell OWX_FRM zu verwenden, musst du ein Device vom TYP OWX anlegen und in der Definition den Namen deines FRM-Devices und die Pin-Nr. deines 1-Wire-Anschlusses am Arduino angeben. Details stehen in der Commandref und der Wiki.

Grüße,
Jens
FHEM 5.9 - RPi 2.0 Raspbian 4.1 + PiTFT - OPi Zero Armbian 5.35
RPi/I2C: MMA845X - CUL/FS20 - RTL2882/SDR: Oregon, Alecto - EnOcean - LAN/Firmata: BMP180, TSL2561, Heatronic 3, Stromzähler (ES-Fer), Gaszähler - WLAN/ESP8266: Gardena 1251, Zirkulationspumpe - Bluetooth

Offline Audi_Coupe_S

  • New Member
  • *
  • Beiträge: 7
Antw:Absturz bei definition von OWX Device (Firmata)
« Antwort #9 am: 17 März 2018, 14:36:06 »
Vielen Dank für die Antwort.

So einfach ist es aber leider nicht. Es werden mit "Update" scheinbar nur die geladenen Module auf den aktuellen Stand gebracht. Und da meines wegen des Syntax-Fehlers nicht geladen wurde, wurde es auch nicht auf den aktuellen Stand gebracht.

Inzwischen läuft es aber.

Offline jensb

  • Developer
  • Sr. Member
  • ****
  • Beiträge: 555
    • GitHub Projekte
Antw:Absturz bei definition von OWX Device (Firmata)
« Antwort #10 am: 17 März 2018, 14:54:34 »
Zitat
Es werden mit "Update" scheinbar nur die geladenen Module auf den aktuellen Stand gebracht.
Das stimmt so nicht ganz. Mit "Update" werden alle Module der offiziellen Distro aktualisiert. Man bekommt dadurch auch komplett neue Module zur Verfügung gestellt. Allerdings löst eine Update nicht immer bestehende Probleme.

Grüße,
Jens
FHEM 5.9 - RPi 2.0 Raspbian 4.1 + PiTFT - OPi Zero Armbian 5.35
RPi/I2C: MMA845X - CUL/FS20 - RTL2882/SDR: Oregon, Alecto - EnOcean - LAN/Firmata: BMP180, TSL2561, Heatronic 3, Stromzähler (ES-Fer), Gaszähler - WLAN/ESP8266: Gardena 1251, Zirkulationspumpe - Bluetooth

Offline Prof. Dr. Peter Henning

  • Developer
  • Hero Member
  • ****
  • Beiträge: 6089
Antw:Absturz bei definition von OWX Device (Firmata)
« Antwort #11 am: 17 März 2018, 15:14:28 »
Wieso "nicht ganz" ?
Zitat
Es werden mit "Update" scheinbar nur die geladenen Module auf den aktuellen Stand gebracht. Und da meines wegen des Syntax-Fehlers nicht geladen wurde, wurde es auch nicht auf den aktuellen Stand gebracht
Das ist einfach falsch.

pah

Offline jensb

  • Developer
  • Sr. Member
  • ****
  • Beiträge: 555
    • GitHub Projekte
Antw:Absturz bei definition von OWX Device (Firmata)
« Antwort #12 am: 17 März 2018, 17:16:20 »
Zitat
Wieso "nicht ganz" ?
Wer FHEM Module aus anderen Quellen verwendet, bekommt mit "Update" dafür keine Updates. Auch für die Contrib-Module gibt es Sonderregeln, siehe hier.
FHEM 5.9 - RPi 2.0 Raspbian 4.1 + PiTFT - OPi Zero Armbian 5.35
RPi/I2C: MMA845X - CUL/FS20 - RTL2882/SDR: Oregon, Alecto - EnOcean - LAN/Firmata: BMP180, TSL2561, Heatronic 3, Stromzähler (ES-Fer), Gaszähler - WLAN/ESP8266: Gardena 1251, Zirkulationspumpe - Bluetooth

Offline Prof. Dr. Peter Henning

  • Developer
  • Hero Member
  • ****
  • Beiträge: 6089
Antw:Absturz bei definition von OWX Device (Firmata)
« Antwort #13 am: 18 März 2018, 06:24:47 »
Logik, mein Lieber. Die Aussage bleibt trotzdem vollständig falsch, und eben nicht nur teilweise.

LG

pah

Offline jensb

  • Developer
  • Sr. Member
  • ****
  • Beiträge: 555
    • GitHub Projekte
Antw:Absturz bei definition von OWX Device (Firmata)
« Antwort #14 am: 18 März 2018, 11:01:54 »
Yup, da stand "Und ..."  ;D
FHEM 5.9 - RPi 2.0 Raspbian 4.1 + PiTFT - OPi Zero Armbian 5.35
RPi/I2C: MMA845X - CUL/FS20 - RTL2882/SDR: Oregon, Alecto - EnOcean - LAN/Firmata: BMP180, TSL2561, Heatronic 3, Stromzähler (ES-Fer), Gaszähler - WLAN/ESP8266: Gardena 1251, Zirkulationspumpe - Bluetooth
Gefällt mir Gefällt mir x 1 Liste anzeigen

 

decade-submarginal