Fragen RS485 Gateway

Begonnen von Ranseyer, 31 Oktober 2017, 09:27:25

Vorheriges Thema - Nächstes Thema

Beta-User

Wollte nur sagen, dass ich 390 Ohm vom Gefühl her immer noch für sehr niedrig halte... (Steno, da Mobil)
Server: HP-elitedesk@Debian 12, aktuelles FHEM@ConfigDB | CUL_HM (VCCU) | MQTT2: MiLight@ESP-GW, BT@OpenMQTTGw | MySensors: seriell, v.a. 2.3.1@RS485 | ZWave | ZigBee@deCONZ | SIGNALduino | MapleCUN | RHASSPY
svn: u.a MySensors, Weekday-&RandomTimer, Twilight,  div. attrTemplate-files

smoudo

das Node ist umgelfasht. Allerdings ohne Erfolg :(
Beim Start wird wieder das Node angelegt aber es kommen keine Readings dazu

Beta-User

1. Bist du sicher, dass etwas gesendet wird (müßte über MY_DEBUG und die serielle Konsole zu erkennen sein).
Der Sketch sieht eigentlich ok aus.

2. Wenn etwas gesendet wird, steht dazu etwas im Log oder ist im Event-Monitor zu erkennen?

3. Versuche mal, den als S_WATER zu präsentieren, ob das was ändert.

Wenn alles bis dahin nichts hilft:
4. Die readings werden uU. aktualisiert, aber solange sie nicht auf der FHEMWEB-Seite angezeigt werden, sieht man erst mal nichts, erst nach einem Browser-Refresh. Und es dauert natürlich auch, bis die erste Übertragung kommt, vorher macht es keinen Sinn zu refreshen.

5. Mach' soch mal ein list vom IO und von der Node.
Server: HP-elitedesk@Debian 12, aktuelles FHEM@ConfigDB | CUL_HM (VCCU) | MQTT2: MiLight@ESP-GW, BT@OpenMQTTGw | MySensors: seriell, v.a. 2.3.1@RS485 | ZWave | ZigBee@deCONZ | SIGNALduino | MapleCUN | RHASSPY
svn: u.a MySensors, Weekday-&RandomTimer, Twilight,  div. attrTemplate-files

smoudo

#33
So ich hab die Node jetzt nochmal an den PC angeschlossen das ich seh was seriell raus geht.
0 MCO:BGN:INIT NODE,CP=RSNNA--,VER=2.1.1
3 TSM:INIT
4 TSF:WUR:MS=0
5 TSM:INIT:TSP OK
7 TSM:INIT:STATID=105
9 TSF:SID:OK,ID=105
11 TSM:FPAR
28 TSF:MSG:SEND,105-105-255-255,s=255,c=3,t=7,pt=0,l=0,sg=0,ft=0,st=OK:
488 TSF:MSG:READ,0-0-105,s=255,c=3,t=8,pt=1,l=1,sg=0:0
493 TSF:MSG:FPAR OK,ID=0,D=1
2035 TSM:FPAR:OK
2036 TSM:ID
2037 TSM:ID:OK
2039 TSM:UPL
2058 TSF:MSG:SEND,105-105-0-0,s=255,c=3,t=24,pt=1,l=1,sg=0,ft=0,st=OK:1
2084 TSF:MSG:READ,0-0-105,s=255,c=3,t=25,pt=1,l=1,sg=0:1
2091 TSF:MSG:PONG RECV,HP=1
2093 TSM:UPL:OK
2095 TSM:READY:ID=105,PAR=0,DIS=1
2116 TSF:MSG:SEND,105-105-0-0,s=255,c=3,t=15,pt=6,l=2,sg=0,ft=0,st=OK:0100
2141 TSF:MSG:READ,0-0-105,s=255,c=3,t=15,pt=6,l=2,sg=0:0100
2168 TSF:MSG:SEND,105-105-0-0,s=255,c=0,t=17,pt=0,l=5,sg=0,ft=0,st=OK:2.1.1
2193 TSF:MSG:SEND,105-105-0-0,s=255,c=3,t=6,pt=1,l=1,sg=0,ft=0,st=OK:0
2230 TSF:MSG:READ,0-0-105,s=255,c=3,t=6,pt=0,l=1,sg=0:M
2262 TSF:MSG:SEND,105-105-0-0,s=255,c=3,t=11,pt=0,l=9,sg=0,ft=0,st=OK:Gas Meter
2288 TSF:MSG:SEND,105-105-0-0,s=255,c=3,t=12,pt=0,l=3,sg=0,ft=0,st=OK:1.0
2312 TSF:MSG:SEND,105-105-0-0,s=1,c=0,t=37,pt=0,l=0,sg=0,ft=0,st=OK:
2318 MCO:REG:REQ
2337 TSF:MSG:SEND,105-105-0-0,s=255,c=3,t=26,pt=1,l=1,sg=0,ft=0,st=OK:2
2361 TSF:MSG:READ,0-0-105,s=255,c=3,t=27,pt=1,l=1,sg=0:1
2366 MCO:PIM:NODE REG=1
2368 MCO:BGN:STP
2386 TSF:MSG:SEND,105-105-0-0,s=1,c=2,t=24,pt=0,l=0,sg=0,ft=0,st=OK:
2393 MCO:BGN:INIT OK,TSP=1

Auch ohne Endwiderstände und gedöns wird registriert. Gesendet aber nichts.

Als nächstes ist jetzt der Watermeter sketch drauf den ich schon im Einsatz habe. gleiches ergebnis.

Beta-User

Habe mir den Sketch nochmal angesehen, vermutlich ändert sich der pulsecount nicht.

In meinem puls-count-interrupt-Sketch sieht das in before() so aus:
 
  pinMode(DIGITAL_INPUT_SENSOR, INPUT_PULLUP);
  digitalWrite(DIGITAL_INPUT_SENSOR, HIGH);
  pulseCount = oldPulseCount = 0;
  attachInterrupt(SENSOR_INTERRUPT, onPulse, FALLING);
Server: HP-elitedesk@Debian 12, aktuelles FHEM@ConfigDB | CUL_HM (VCCU) | MQTT2: MiLight@ESP-GW, BT@OpenMQTTGw | MySensors: seriell, v.a. 2.3.1@RS485 | ZWave | ZigBee@deCONZ | SIGNALduino | MapleCUN | RHASSPY
svn: u.a MySensors, Weekday-&RandomTimer, Twilight,  div. attrTemplate-files

smoudo

#35
Zwischenzeitlich habe ich noch ein neues PCB aufgebaut um das auszuschließen. - selbes ergebnis
Die Sketch Änderung brachte leider auch keine Besserung.
Konsole des Nodes:
0 MCO:BGN:INIT NODE,CP=RSNNA--,VER=2.1.1
3 TSM:INIT
4 TSF:WUR:MS=0
5 TSM:INIT:TSP OK
7 TSM:INIT:STATID=102
9 TSF:SID:OK,ID=102
11 TSM:FPAR
28 TSF:MSG:SEND,102-102-255-255,s=255,c=3,t=7,pt=0,l=0,sg=0,ft=0,st=OK:
108 TSF:MSG:READ,0-0-102,s=255,c=3,t=8,pt=1,l=1,sg=0:0
113 TSF:MSG:FPAR OK,ID=0,D=1
2035 TSM:FPAR:OK
2036 TSM:ID
2037 TSM:ID:OK
2039 TSM:UPL
2058 TSF:MSG:SEND,102-102-0-0,s=255,c=3,t=24,pt=1,l=1,sg=0,ft=0,st=OK:1
2084 TSF:MSG:READ,0-0-102,s=255,c=3,t=25,pt=1,l=1,sg=0:1
2091 TSF:MSG:PONG RECV,HP=1
2093 TSM:UPL:OK
2095 TSM:READY:ID=102,PAR=0,DIS=1
2116 TSF:MSG:SEND,102-102-0-0,s=255,c=3,t=15,pt=6,l=2,sg=0,ft=0,st=OK:0100
2141 TSF:MSG:READ,0-0-102,s=255,c=3,t=15,pt=6,l=2,sg=0:0100
2168 TSF:MSG:SEND,102-102-0-0,s=255,c=0,t=17,pt=0,l=5,sg=0,ft=0,st=OK:2.1.1
2193 TSF:MSG:SEND,102-102-0-0,s=255,c=3,t=6,pt=1,l=1,sg=0,ft=0,st=OK:0
2230 TSF:MSG:READ,0-0-102,s=255,c=3,t=6,pt=0,l=1,sg=0:M
2260 TSF:MSG:SEND,102-102-0-0,s=255,c=3,t=11,pt=0,l=9,sg=0,ft=0,st=OK:Gas Meter
2288 TSF:MSG:SEND,102-102-0-0,s=255,c=3,t=12,pt=0,l=3,sg=0,ft=0,st=OK:1.0
2312 TSF:MSG:SEND,102-102-0-0,s=1,c=0,t=37,pt=0,l=0,sg=0,ft=0,st=OK:
2318 MCO:REG:REQ
2337 TSF:MSG:SEND,102-102-0-0,s=255,c=3,t=26,pt=1,l=1,sg=0,ft=0,st=OK:2
2361 TSF:MSG:READ,0-0-102,s=255,c=3,t=27,pt=1,l=1,sg=0:1
2366 MCO:PIM:NODE REG=1
2368 MCO:BGN:STP
2386 TSF:MSG:SEND,102-102-0-0,s=1,c=2,t=24,pt=0,l=0,sg=0,ft=0,st=OK:
2393 MCO:BGN:INIT OK,TSP=1
32410 TSF:MSG:SEND,102-102-0-0,s=1,c=2,t=24,pt=0,l=0,sg=0,ft=0,st=OK:
62411 TSF:MSG:SEND,102-102-0-0,s=1,c=2,t=24,pt=0,l=0,sg=0,ft=0,st=OK:
92412 TSF:MSG:SEND,102-102-0-0,s=1,c=2,t=24,pt=0,l=0,sg=0,ft=0,st=OK:

Was auffallend ist im Log, die beiden anderen Nodes die funktionieren werden auch nicht angezeigt.

Viele Grüße

Matze

Beta-User

Moin zusammen, zwei Anmerkungen noch:

- Zu meinem Code gehört im Kopfteil noch ein
#define SENSOR_INTERRUPT DIGITAL_INPUT_SENSOR-2 // Usually the interrupt = pin -2 (on uno/nano anyway)


- Dann würde ich zum Testen in den onPulse() einen serial.print reinmachen um zu testen, wenn ein Puls erkannt wird. Da scheint ja das ganze Problem zu liegen, dass erst gar keine Pulse gezählt werden.
Server: HP-elitedesk@Debian 12, aktuelles FHEM@ConfigDB | CUL_HM (VCCU) | MQTT2: MiLight@ESP-GW, BT@OpenMQTTGw | MySensors: seriell, v.a. 2.3.1@RS485 | ZWave | ZigBee@deCONZ | SIGNALduino | MapleCUN | RHASSPY
svn: u.a MySensors, Weekday-&RandomTimer, Twilight,  div. attrTemplate-files

smoudo

#37
da habe ich das drin stehen
#define MY_RS485_DE_PIN 2

normal müsste ich über den Bus im seriellen Monitor doch auch die anderen Nodes sehen können oder?

weil node 100 und 101 funken munter vor sich hin und füttern schön fhem mit readings.
das node 102 mit dem ich jetzt das problem habe zeigt mir aber nur selbiges im Monitor an.
Für mein Verständnis müssten doch auch 100 und 101 angezeigt werden sobald daten durchgehen?!?

Zum Verständnis: Ich habe 1x serielles Gateway am Raspi das fhem füttert (braucht das auch eine ID=?!?)
1x Node ID 100 Stromzähler
1x Node ID 101 Wasserzähler

Beta-User

...das sind zwei unterschiedliche Dinge:

In deinem Sketch verwendest du (#20)
attachInterrupt(digitalPinToInterrupt(DIGITAL_INPUT_SENSOR), onPulse, FALLING);
Das scheint aus irgend einem Grund nicht zu funktionieren. Mein Vorschlag war jetzt, digitalPinToInterrupt() nicht zu verwenden und stattdessen "den Fußweg" zu nehmen (Interrupt-Nr. manuell festlegen (das war das, was gestern noch gefehlt hatte) und die Interrupt-Nr. direkt zu verwenden).
Die muß für PIN3 hat 1 sein (PIN2 hat interr. 0). Daher kommt das "-1".

Hast du mal einen serial print in die isr eingebaut um zu prüfen, ob der überhaupt einen fallenen Pegel detektiert?
Server: HP-elitedesk@Debian 12, aktuelles FHEM@ConfigDB | CUL_HM (VCCU) | MQTT2: MiLight@ESP-GW, BT@OpenMQTTGw | MySensors: seriell, v.a. 2.3.1@RS485 | ZWave | ZigBee@deCONZ | SIGNALduino | MapleCUN | RHASSPY
svn: u.a MySensors, Weekday-&RandomTimer, Twilight,  div. attrTemplate-files

smoudo

Ich bau den Sketch nochmal um :)
Im Print hab ich nichts, habe aber auch schon probiert mit ner brücke eine Zwangsauslösung auf dem Nano zu machen
Ohne Erfolg!

Das komische ist, ich habe genau den selben Watermeter Sketch erfolgreich auf dem node 101 laufen.

Beta-User

Arduino kaputt?
Kannst du einen anderen nehmen?
Server: HP-elitedesk@Debian 12, aktuelles FHEM@ConfigDB | CUL_HM (VCCU) | MQTT2: MiLight@ESP-GW, BT@OpenMQTTGw | MySensors: seriell, v.a. 2.3.1@RS485 | ZWave | ZigBee@deCONZ | SIGNALduino | MapleCUN | RHASSPY
svn: u.a MySensors, Weekday-&RandomTimer, Twilight,  div. attrTemplate-files

Ranseyer

Hört sich für mich auch wie ein HW Problem an.

Mal etwas Background auf Seite 13: https://datasheets.maximintegrated.com/en/ds/MAX1487-MAX491.pdf
FHEM mit FTUI. Homematic-Funk für Thermostate und Licht. MySensors als Basis für eigene HW.
Zentrale ist der MAPLE-CUL mit RFM69+HModUART-AddOn.
Doku zu meinen Projekten: Github/Ranseyer. Platinen falls verfügbar gerne auf Anfrage.
Support: gerne wenn ich Zeit+Lust habe im Forum. Nicht per PN!

smoudo

Arduinos muss ich mir wenn erst welche bestellen.
Der Restbestand ist lauffähig verbaut!  ;D

smoudo

#43
so neue Arduino sind da - selbes problem  >:(

Ich habe jetzt auch mal den funktionierenden Wasserzähler arduino an die stelle gesetzt an der ich die ganze Zeit teste. Funktioniert auf anhieb! Den neuen Arduino mit dem identischen sketch am Wasserzähler funktioniert nicht. Irgendwas passt da nicht.
Ich habe auch die arduino IDE aktualisiert. Nochmal die Mysensors lib neu eingespielt.
Ein bus problem und sketch problem würde ich jetzt fast ausschließen.
Irgendwie erzeugt der arduinos keine interrupts und readings. ansonsten sieht der Netzwerkverkehr gut aus. Ich habe auch 2 verschiedene PCB getestet. Kein Erfolg.

Grüße

Matze

smoudo

Nächster Versuch: an anderen Rechner Frisch installierte IDE und mysensors lib 2.1.1
Gateway und sensornode geflasht, in der seriellen Konsole melden sich beide, das node sendet
Aber keine pulse.
Getestet mit dem Original Watermeter sketch und Gateway sketch für rs485

Zum testen nochmal mit 2.2.0 Beta. Selbes Ergebnis!


Noch jemand eine Idee? Bin langsam ratlos!

Grüße

Matze