OWX erkennt Onewire Sensoren nicht.

Begonnen von Marodeur, 20 November 2018, 18:04:41

Vorheriges Thema - Nächstes Thema

Marodeur

Guten Tag, ich leider noch ein absoluter Anfänger, daher habt bitte Nachsicht falls ich nicht gleich alles Verstehe.

Ich habe FHEM auf meinem Windows PC aufgesetzt und erst einmal mit mehreren Dummy Devices ausprobiert um mich mit FHEM vertraut zu machen.

Als nächstes habe ich auf einem Arduino Mega das ConfigurableFirmata Installiert und konnte inzwischen auch eine Verbindung zu FHEM über Etherne, damit herstellen. Alle Pins und die Netzadresse werden erkannt.

Als nächstes habe ich das Device OWX angelegt, dieses findet auch den Pin 9 wo meine DS18B20 dran angeschlossen sind, aber leider werden die Temperatur Sensoren scheinbar von OWX nicht erkannt, jedenfalls werden sie nicht aufgelistet.

im Logfile steht.
2018.11.20 17:05:59 1: OWX_Init called for bus OWio1 with interface state ???, now going for detect
2018.11.20 17:05:59 1: OWX: 1-Wire bus OWio1: interface Firmata detected in FIRMATA
2018.11.20 17:05:59 1: OWX_Discover: 1-Wire devices found on bus OWio1 ()


vermutlich wird es wieder nur eine kleinigkeit sein, aber ich konnte weder im Internet noch hier im Forum einen Hinweis finden, der mir weiter geholfen hat.

JensS

Hast du einen Widerstand 4,7KOhm zw. 5V und 1wire?

Gruß Jens
Debian auf APU2C4, HM-CFG-USB2, SIGNALduino, HM-ES-PMSw1-Pl, TFA 30.3121, TFA 30.3125, ITS-150, PIR-5000, configurable Firmata USB & LAN, 1-wire: DS-18B20, DS-18S20, DS-2408, DS-2413, diverse I2C-Komponenten, zigbee2mqtt, ESPEasy etc.

Marodeur

Ja habe ich.

Wenn ich einen ganz normalen Sketch mit Onewire nutze, werden die Sensoren alle angezeigt.

Relais kann ich von FHEM aus ansteuern, also die Verbindung zwischen Firmata und und FHEM funktioniert.

Prof. Dr. Peter Henning

#3
So etwas wie einen "ganz normalen Sketch" gibt es nicht. Das OWX-Modulsystem wird sehr gesprächig, wenn man verbose=5 setzt.

Ich tippe mal, dass Firmata hier nicht korrekt konfiguriert wurde (evtl. anderer Pin ?)

LG

pah

Marodeur

Ich weiß nicht ob ich mich Freuen oder Fluchen soll.

Ich habe nichts aber auch gar nichts geändert oder gemacht, jedenfalls bekomme ich jetzt auf einmal die Werte von den Temperatursensoren.

Wenn ein Fehler von alleine verschwindet, das kann ich nicht abhaben, man weiß nicht wo das Problem lag und daher auch nicht ob und wann der Fehler wieder auftaucht.

Prof. Dr. Peter Henning

OT:
ZitatIch habe nichts aber auch gar nichts geändert oder gemacht
Die Erfahrung zeigt, dass 99% aller Fehlerbeschreibungen so beginnen. Und wenn man dann nachbohrt, kommt meistens: "Ach, das war doch nur eine minimale Änderung, an der kann es gar nicht liegen".

LG

pah

Marodeur

Na ja das würde mich ja in sofern Beruhigen, weil ich dann ja wüsste woran es gelegen hat.

Bis her läuft alles Stabiel, konnte Heute meinen PT1000 und flow Sensor einbinden.
Hoffe das klappt mit dem Radar und Gas Sensor eben so.

Heike4

Wusste gar nicht, was man alles einhalten muss.

Wernieman

- Bitte um Input für Output
- When there is a Shell, there is a Way
- Wann war Dein letztes Backup?

Wie man Fragen stellt: https://tty1.net/smart-questions_de.html

Homalix99

Hallo an alle,

ich wollte jetzt auch von GPIO4 (Raspberry Pi) als 1-wire Busmaster auf Arduino mit 1-wire und OWX umstellen, jedoch funktioniert das nicht so wie gedacht.
Habe einen Arduino Nano China-Nachbau CH340 Chip und diesen mit der IDE anstandslos auf Conifurable Firmata V2.06 gebracht.
Erste Auffälligkeit der error "Unhandled sysex command":

Internals:
   DEF        /dev/ttyUSB3@57600
   DRIVER_VERSION 0.64
   DeviceName /dev/ttyUSB3@57600
   FD         37
   NAME       FIRMATA_1W
   NOTIFYDEV  global
   NR         1122
   NTFY_ORDER 50-FIRMATA_1W
   PARTIAL   
   STATE      Initialized
   TYPE       FRM
   firmware   ConfigurableFirmata.ino
   firmware_version V_2_06
   input_pins 2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19
   onewire_pins 2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19
   output_pins 2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19
   protocol_version V_2_06
   READINGS:
     2018-12-30 22:47:49   error           Unhandled sysex command
     2018-12-30 22:47:49   state           Initialized
   SERIAL:
Attributes:
   room       System


Habe am Pin 12 des Arduino den bestehenden 1-wire Bus (welcher vorher an GPIO4 hing) umgehängt und betreibe den Bus mit einem Pegelwandler (siehe Bild Anhang).
Der Busmaster sieht folgendermassen aus:

Internals:
   ALARMED    0
   ASYNCHRONOUS 0
   CFGFN     
   DEF        FIRMATA_1W:12
   DeviceName FIRMATA_1W:12
   HWDEVICE   FIRMATA_1W
   INITDONE   1
   INTERFACE  firmata
   IODev      FIRMATA_1W
   NAME       1w_Busmaster
   NR         1679
   PARTIAL   
   PIN        12
   PRESENT    1
   ROM_ID     FF
   STATE      ???
   TYPE       OWX
   interval   300
   timeout    2
   DEVHASH:
     1w_Busmaster Busmaster
   DEVS:
Attributes:
   room       Testraum


Ich hatte dann den Arduino vom bestehenden 1-wire Bus abgehängt und nur einen einzelnen neuen Sensor dangehängt. Dieser wurde dann erkannt und der Raum OWX angelegt. Hat auch funktioniert.
Irgendwie läuft da was mit der Kommunikation schief und ich denke, wenn da mehrere Sensoren (alles DS18B20) dannhängen, geht gar nichts mehr.
Hab da leider keine Idee mehr.
Das Log nach FIRMATA_1W (FRM) reset und 1w_Busmaster (OWX) reopen:


2018.12.30 23:21:45.124 1: /dev/ttyUSB3 disconnected, waiting to reappear (FIRMATA_1W)
2018.12.30 23:21:45.156 3: Setting FIRMATA_1W serial parameters to 57600,8,N,1
2018.12.30 23:21:45.198 1: /dev/ttyUSB3 reappeared (FIRMATA_1W)
2018.12.30 23:21:48.213 3: FIRMATA_1W querying Firmata versions
2018.12.30 23:21:48.995 3: FIRMATA_1W Firmata Firmware Version: ConfigurableFirmata.ino V_2_06 (using Protocol Version: V_2_06)
2018.12.30 23:21:49.010 3: received String_data: Unhandled sysex command
2018.12.30 23:21:54.127 3: received String_data: Unhandled sysex command
2018.12.30 23:22:04.121 1: OWX_Discover: 1-Wire devices found on bus 1w_Busmaster ()
2018.12.30 23:22:22.738 1: [OWX_FRM] Warning: ->Reopen currently not defined
2018.12.30 23:22:22.740 3: OWX_Set 1w_Busmaster reopen => 0



Vielen Dank im voraus für Hinweise die zur Ergreifung des Übeltäters (Fehler) führen.


- RPI 4 fhem in Docker, 2 x Arduino Uno, HM-GW, HM-Dev. (Fensterkontakte, HK-Thermostate, div. Aktoren), JeeLink,
- GPIOs, HM-LAN, ESPs (MQTT2)
-Überwachung Fenster/Türen/Licht, HK-Thermostatregelung, Rollosteuerung, Überw. Betriebstemperaturen Heizung, Erfassung Gas/Wasser, PV-Anl., Wetter (WS1600)

Marodeur

Auch wenn es schon etwas länger her ist und ich nicht weiß ob Du bereits eine Lösung gefunden hast.

Ich musste feststellen das der Arduino eine kleine Mimose ist, was das anlegen von 1-Wirer Sensoren angeht.

Ohne den richtigen Pullup Widerstand und Kondensatoren am ende der Leitungen, wollte es bei mir nicht Funktionieren.

Inzwischen habe ich an meinem Arduino Mega drei 1-Wire Netze stabil am laufen, an einem Netz sind 12 DS18B20 angeschlossen, an den jeweiligen Pins dann als Pullup Widerstand sind Potis verbaut, da jeder Strang einen anderen Wiederstand haben wollte.

Homalix99

Hallo Marodeur,

ich habe mir einen USB basierten 1-wire Busmaster zugelegt. Damit konnte ich max. 9 Sensoren betreiben und es kamen viele Warnings aus dem OWX-Modul, u. a. auch CRC Fehler und das ganze war nicht eingrenzbar. Da ging weiterhin viel Zeit drauf. Dann habe ich den Busmaster auf einem zusätzlichen (alten) RPi umgehängt und alles läuft perfekt.
Warum?
Also am Haupt RPi habe ich alle GPIOs belegt und das führt scheinbar zu Timingproblemen, dazu kamen auch perl Warnings aus anderen Modulen, die ebenfalls via USB dranhängen.
Jetzt betreibe ich das ganze mit Fhem2fhem und habe 15 Sensoren am 1-wire hängen.
Den Arduino nano hab ich in die Ecke gefeuert:-)

VG

Alex
- RPI 4 fhem in Docker, 2 x Arduino Uno, HM-GW, HM-Dev. (Fensterkontakte, HK-Thermostate, div. Aktoren), JeeLink,
- GPIOs, HM-LAN, ESPs (MQTT2)
-Überwachung Fenster/Türen/Licht, HK-Thermostatregelung, Rollosteuerung, Überw. Betriebstemperaturen Heizung, Erfassung Gas/Wasser, PV-Anl., Wetter (WS1600)