Tag zusammen,
nachdem ich mein FIRMATA Device nun auf eine andere Kontrollinstanz gelegt habe (anderer PI) funktioniert mein OneWire am Firmata nicht mehr :
Die Version am anderen PI ist 0.64
error: Error unsupported mode '7' for pin '9'
Hier das Listing für das FIRMATA Device:
Internals:
CONNECTS 1
DEF 3030 global
DRIVER_VERSION 0.69
DeviceName 3030
FD 19
FUUID 5fe730c0-f33f-cc65-c10d-32e33474559686bf
LAST_RECEIVED 2020-12-26 14:58:14
NAME FIRMATA
NOTIFYDEV global
NR 147
NTFY_ORDER 50-FIRMATA
PORT 3030
STATE Initialized
TYPE FRM
firmware ConfigFirmataGarage.ino
firmware_version V_2_10
i2c_pins 18,19
input_pins 2,3,5,6,7,8,9,14,15,16,17,18,19
output_pins 2,3,5,6,7,8,9,14,15,16,17,18,19
protocol_version V_2_06
pullup_pins 2,3,5,6,7,8,9,14,15,16,17,18,19
READINGS:
2020-12-26 14:58:17 error Unhandled sysex command
2020-12-26 14:58:22 state Initialized
SERIAL:
SocketDevice:
BUF
DeviceName 3030
FD 20
LAST_RECEIVED 2020-12-26 14:58:22
NAME FIRMATA_192.168.0.41_49155
NR 156
PEER 192.168.0.41
PORT 49155
SNAME FIRMATA
SSL
STATE Connected
TEMPORARY 1
TYPE FRM
READINGS:
2020-12-26 14:58:14 state Connected
Attributes:
i2c-config 1
room FIRMATA
verbose 5
Und vom OWX:
ALARMED 0
ASYNCHRONOUS 1
DEF FIRMATA:9
DeviceName FIRMATA:9
FUUID 5fe73d38-f33f-cc65-7e9c-6662bf567c1e2b63
HWDEVICE FIRMATA
INITDONE 1
INTERFACE firmata
IODev FIRMATA
NAME OneWireFRM
NR 152
PARTIAL
PIN 9
PRESENT 1
ROM_ID FF
STATE error: Error unsupported mode '7' for pin '9'
TYPE OWX
interval 300
timeout 2
DEVHASH:
OneWireFRM Busmaster
DEVS:
READINGS:
2020-12-26 14:58:22 state error: Error unsupported mode '7' for pin '9'
Attributes:
IODev FIRMATA
room FIRMATA
verbose 5
https://forum.fhem.de/index.php/topic,114552.0.html (https://forum.fhem.de/index.php/topic,114552.0.html) ...beachtet?
In deinem Firmata-Device sind keine OWX-Pins gelistet.
Ist OWX in der ConfigFirmataGarage.ino definiert?
Gruß Jens
Zitat von: JensS am 26 Dezember 2020, 18:29:15
https://forum.fhem.de/index.php/topic,114552.0.html (https://forum.fhem.de/index.php/topic,114552.0.html) ...beachtet?
In deinem Firmata-Device sind keine OWX-Pins gelistet.
Ist OWX in der ConfigFirmataGarage.ino definiert?
Gruß Jens
Die version auf dem arduino lief vorher Fehlerfrei mit einem TestPi-
0) habe ein aktuelles ConfigFirmata geflashed (neue Bibliothek von Firmata ?)
1) Habe ein update gemacht > dann kam die Version des OWX vom 20.12.
2) Zusätzlich hatte ich noch manuell das ATTR IODEV im OWX definiert.
Es läuft jetzt, nichtsdestrotrotz liefert mit FRM weiterhin den Fehler
Unhandled sysex command
Deine PM vom 26.12.2020:
Zitat2020.12.26 17:26:05 5: FIRMATA FRM:<61006e006400f7f0
2020.12.26 17:26:05 3: FIRMATA: received message 'Unhandled sysex command'
Das Logging zeigt einen Datenempfang vom Firmata-Device, der scheinbar mit 0x61 beginnt. Das ist nicht unmöglich (Drehgeber-Statusmeldung) aber nicht wahrscheinlich (1-Wire). Was steht vorher im Log? Bitte alles ab Firmata-Device-Verbindungsaufbau bis Fehler posten.
Grüße,
Jens
Hier mal das komplette LOG nur 1 Tag später
2020.12.27 12:05:45 4: Connection accepted from FIRMATA_192.168.0.41_49153
2020.12.27 12:05:45 5: FIRMATA: FRM_DoInit
2020.12.27 12:05:45 5: FIRMATA FRM:>ff
2020.12.27 12:05:45 5: FIRMATA: setup stage 1
2020.12.27 12:05:45 5: FIRMATA: setup stage 1
2020.12.27 12:05:45 5: FIRMATA: setup stage 1
2020.12.27 12:05:46 5: FIRMATA: setup stage 1
2020.12.27 12:05:46 5: FIRMATA: setup stage 1
2020.12.27 12:05:46 5: FIRMATA: setup stage 1
2020.12.27 12:05:46 5: FIRMATA: setup stage 1
2020.12.27 12:05:46 5: FIRMATA: setup stage 1
2020.12.27 12:05:46 5: FIRMATA: setup stage 1
2020.12.27 12:05:46 5: FIRMATA: setup stage 1
2020.12.27 12:05:46 5: FIRMATA: setup stage 1
2020.12.27 12:05:47 5: FIRMATA: setup stage 1
2020.12.27 12:05:48 5: FIRMATA: setup stage 1
2020.12.27 12:05:48 3: FIRMATA: querying Firmata versions
2020.12.27 12:05:48 5: FIRMATA FRM:>f90000
2020.12.27 12:05:48 5: FIRMATA FRM:>f079f7
2020.12.27 12:05:48 5: FIRMATA FRM:<f90206f079020a43006f
2020.12.27 12:05:48 5: FIRMATA: setup stage 1
2020.12.27 12:05:48 5: FIRMATA FRM:<006e0066006900670075007200650064004600690072
2020.12.27 12:05:48 5: FIRMATA: setup stage 1
2020.12.27 12:05:48 5: FIRMATA FRM:<006d0061007400610047006100720061006700
2020.12.27 12:05:48 5: FIRMATA: setup stage 1
2020.12.27 12:05:48 5: FIRMATA FRM:<650032002e0069006e006f00f7
2020.12.27 12:05:48 5: FIRMATA: setup stage 1
2020.12.27 12:05:48 3: FIRMATA: Firmata Firmware Version ConfiguredFirmataGarage2.ino V_2_10 (using Protocol Version V_2_06)
2020.12.27 12:05:48 5: FIRMATA FRM:>f069f7
2020.12.27 12:05:48 5: FIRMATA FRM:>f06bf7
2020.12.27 12:05:48 5: FIRMATA FRM:<f07155006e00680061006e0064006c0065
2020.12.27 12:05:48 5: FIRMATA: setup stage 2
2020.12.27 12:05:48 5: FIRMATA FRM:<006400200073007900730065007800200063
2020.12.27 12:05:48 5: FIRMATA: setup stage 2
2020.12.27 12:05:48 5: FIRMATA FRM:<006f006d006d0061006e006400f7
2020.12.27 12:05:48 3: FIRMATA: received message 'Unhandled sysex command'
2020.12.27 12:05:48 5: FIRMATA: setup stage 2
2020.12.27 12:05:48 5: FIRMATA FRM:<f06c7f7f00010b01010107017f00010b01010107017f7f00010b0101010701
2020.12.27 12:05:48 5: FIRMATA: setup stage 2
2020.12.27 12:05:48 5: FIRMATA FRM:<7f00010b01010107017f00010b010101
2020.12.27 12:05:48 5: FIRMATA: setup stage 2
2020.12.27 12:05:48 5: FIRMATA FRM:<07017f00010b01010107017f
2020.12.27 12:05:48 5: FIRMATA: setup stage 2
2020.12.27 12:05:48 5: FIRMATA FRM:<00010b01010107017f7f7f7f7f00
2020.12.27 12:05:48 5: FIRMATA: setup stage 2
2020.12.27 12:05:48 5: FIRMATA FRM:<010b01010107017f00010b010101
2020.12.27 12:05:48 5: FIRMATA: setup stage 2
2020.12.27 12:05:48 5: FIRMATA FRM:<07017f00010b01010107017f
2020.12.27 12:05:48 5: FIRMATA: setup stage 2
2020.12.27 12:05:48 5: FIRMATA FRM:<00010b01010107017f00010b010101
2020.12.27 12:05:48 5: FIRMATA: setup stage 2
2020.12.27 12:05:48 5: FIRMATA FRM:<060107017f00010b01010106010701
2020.12.27 12:05:48 5: FIRMATA: setup stage 2
2020.12.27 12:05:48 5: FIRMATA FRM:<7f7f7ff7
2020.12.27 12:05:48 5: FIRMATA: setup stage 2
2020.12.27 12:05:49 5: FIRMATA: setup stage 2
2020.12.27 12:05:50 5: FIRMATA: setup stage 2
2020.12.27 12:05:51 5: FIRMATA: setup stage 2
2020.12.27 12:05:52 5: FIRMATA: setup stage 2
2020.12.27 12:05:53 5: FIRMATA: setup stage 2
2020.12.27 12:05:53 5: FIRMATA FRM:>f07a6807f7
2020.12.27 12:05:53 5: FIRMATA FRM:>f41306
2020.12.27 12:05:53 5: FIRMATA FRM:>f41206
2020.12.27 12:05:53 5: FIRMATA FRM:>f0780100f7
2020.12.27 12:05:53 5: FIRMATA: setup stage 3
2020.12.27 12:05:53 5: FIRMATA FRM:>f076200013007f01f7
2020.12.27 12:05:53 5: FIRMATA FRM:>f076200012007f01f7
2020.12.27 12:05:53 5: FIRMATA FRM:>f076200812000200f7
2020.12.27 12:05:53 5: FIRMATA FRM:>f40700
2020.12.27 12:05:53 5: FIRMATA FRM:>d001
2020.12.27 12:05:53 5: FIRMATA FRM:>d001
2020.12.27 12:05:53 5: FIRMATA FRM:>f076200812000200f7
2020.12.27 12:05:53 5: FIRMATA FRM:>f40800
2020.12.27 12:05:53 5: FIRMATA FRM:>d101
2020.12.27 12:05:53 5: FIRMATA FRM:>d101
2020.12.27 12:05:53 5: FIRMATA FRM:>f076200812000200f7
2020.12.27 12:05:53 5: FIRMATA FRM:>f076220013000000f7
2020.12.27 12:05:53 5: FIRMATA FRM:>f076220012007f01f7
2020.12.27 12:05:53 5: FIRMATA FRM:>f076220000000000f7
2020.12.27 12:05:53 5: FIRMATA FRM:>f076220001007f01f7
2020.12.27 12:05:53 5: FIRMATA FRM:>f076220005007f01f7
2020.12.27 12:05:53 5: FIRMATA FRM:>f076220004007f01f7
2020.12.27 12:05:53 5: FIRMATA FRM:>f07622000a000000f7
2020.12.27 12:05:53 5: FIRMATA FRM:>f076220812000200f7
2020.12.27 12:05:53 5: FIRMATA FRM:>f40600
2020.12.27 12:05:53 5: FIRMATA FRM:>d001
2020.12.27 12:05:53 5: FIRMATA FRM:>d001
2020.12.27 12:05:53 5: FIRMATA FRM:>f076220812000200f7
2020.12.27 12:05:53 5: FIRMATA FRM:>f40907
2020.12.27 12:05:53 5: FIRMATA: setup stage 5
2020.12.27 12:05:53 5: FIRMATA FRM:<f077200012007f017f01f7900001900001f077200012007f017f01f7910100910100f077200012007f017f01f7f077220012007f010000f7904001904001904001f077220012007f010000f7
2020.12.27 12:05:54 5: FIRMATA: onI2CMessage address: '32', register: '18' data: [255,255]
2020.12.27 12:05:54 5: FIRMATA FRM:>f076220812000200f7
2020.12.27 12:05:54 5: FIRMATA: onI2CMessage address: '32', register: '18' data: [255,255]
2020.12.27 12:05:54 5: FIRMATA: onI2CMessage address: '32', register: '18' data: [255,255]
2020.12.27 12:05:54 5: FIRMATA: onI2CMessage address: '34', register: '18' data: [255,0]
2020.12.27 12:05:54 5: FIRMATA FRM:>f076220812000200f7
2020.12.27 12:05:54 5: FIRMATA: onI2CMessage address: '34', register: '18' data: [255,0]
2020.12.27 12:05:54 5: FIRMATA FRM:<f077220012007f010000f7f077220012007f010000f7
2020.12.27 12:05:54 5: FIRMATA: onI2CMessage address: '34', register: '18' data: [255,0]
2020.12.27 12:05:54 5: FIRMATA: onI2CMessage address: '34', register: '18' data: [255,0]
2020.12.27 12:06:03 5: FIRMATA FRM:>f0734009f7
2020.12.27 12:06:03 5: FIRMATA FRM:<f073
2020.12.27 12:06:04 5: FIRMATA FRM:<4209
2020.12.27 12:06:04 5: FIRMATA FRM:<2866
2020.12.27 12:06:04 5: FIRMATA FRM:<274f77124101
2020.12.27 12:06:04 5: FIRMATA FRM:<2c01f7
2020.12.27 12:06:04 1: OWX_Discover: 1-Wire devices found on bus OneWireFRM (OWX_28_F3E979970403)
Die Fehlermeldung "Unhandled sysex command" stammt direkt vom Firmata-Device und wird von FRM nur angezeigt und protokolliert. Ein "sysex command" ist ein Kommando das mit "f0" anfängt. FRM fragt beim Verbindungsaufbau das Firmata-Device, was es alles kann, denn das ist ja in der Firmware frei konfigurierbar. Aus den Antworten vom Firmata-Device entstehen dann die "_pins"- und "_resolutions"-Internals. Diese Infos werden von FRM gebraucht, um zu prüfen, ob z.B. OWX auf dem gewünschten Pin 9 möglich ist.
Aus deinem Log:
Zitat2020.12.27 12:05:48 5: FIRMATA FRM:>f069f7
2020.12.27 12:05:48 5: FIRMATA FRM:>f06bf7
Dabei ist f069=ANALOG_MAPPING_QUERY und f06b=CAPABILITY_QUERY (siehe auch https://github.com/firmata/protocol/blob/master/protocol.md (https://github.com/firmata/protocol/blob/master/protocol.md)).
Da du ConfigurableFirmata für OWX verwendest, hast du AnalogFirmata vermutlich in der Firmware deaktiviert.
Wenn du die Fehlermeldung ganz loswerden willst, musst du AnalogFirmata in der Firmware aktivieren, auch wenn du es nicht nutzen willst. Ansonsten die Fehlermeldung einfach ignorieren, es hat keine Konsequenzen. Wenn du willst kannst du auch das FRM-Attribut "errorExclude" auf "Unhandled sysex command" einstellen, dann wird es als Reading "stringMessage" statt als Reading "error" im FRM-Modul angezeigt. Das ist allerdings nur Kosmetik.
Grüße,
Jens
COOL. Danke für den Link.
Da wird dann endlich ein Schuh draus!
Kann man solche Infos, was da da Protokoll betrifft vielleicht auch direkt im WiKi verlinken ? Dann musst Du vielleicht in Zukunft nicht so blöde Fragen beantworten ;-)
Zitat von: R1F800 am 29 Dezember 2020, 17:42:49
Kann man solche Infos, was da da Protokoll betrifft vielleicht auch direkt im WiKi verlinken ?
Scheint nicht zu helfen, denn das sind sie schon ;)
Unter https://wiki.fhem.de/wiki/Arduino_Firmata (https://wiki.fhem.de/wiki/Arduino_Firmata) steht in der 1. Zeile
ZitatFür Arduinos (und diverse kompatible Boards) gibt es eine Standardimplementierung des Kommunikationsprotokolls Firmata [1]. Mit Hilfe des Perl-Moduls Device::Firmata, auch bekannt als perl-firmata [2], kann das Firmata-Protokoll in Perl genutzt werden und mit dem Modul FRM auch in FHEM.
und [1] ist der gesuchte Link.
Vielleicht ist der Verweis in der Wiki etwas unscheinbar. Aber um etwas mit FHEM zum Laufen zu bekommen muss man (zum Glück) die Protokollspezifikationen der jeweiligen Systeme nicht kennen. Die werden nur relevant, wenn etwas nicht funktioniert. Dann ist es aber oft einfacher jemanden zu fragen der sich damit auskennt.
Grüße,
Jens
Bitte noch den Titel des Threads ändern - das war nämlich mitnichten ein Fehler von OWX.
LG
pah
@ JensB
Stimmt da sind die Links ... diese Nummern habe ich tatsächlich ÜBERLESEN
@pah
wenn Du mir sagst wie gerne. Ich kann das Thema nur schließen.