Signalduino Entwicklung

Begonnen von thoffma3, 05 Juli 2015, 23:01:00

Vorheriges Thema - Nächstes Thema

hdp1999

#2115
Zitat von: Ralf9 am 24 Oktober 2016, 22:51:39
Der Grund warum der BTHR918 beim FHEMDUINO funktioniert, könnte sein, daß dort keine Checksum berechnet wird.

Das Problem beim BTHR918 ist, daß dort anscheinend die Checksum anders berrechnet wird.
Die Checksum ist normalerweise das letzte Byte.
Die Checksum wird normalerweise berechnet indem die nibbles addiert werden ohne das erste Byte (hier 58) und dann minus 10

Hast Du mir raw Nachrichten bei denen sich die Temperatur und Feuchtigkeit etwas stärker ändert.

Gruß Ralf

Moin Ralf !

Ich habe für den BTHR918 mal mehrere MSG mitgeschnitten ! Mit ca Temp und Feuchte angabe !

Hoffe es bringt dich etwas weiter !


ca T:21,7  H:46 %

2016.10.25 07:18:10 4: sduino/msg READ: MC;LL=-945;LH=1048;SL=-431;SH=514;D=55555555334CCD4CAAAAAB4CAAD4CAB2AAB4ACACD54D2D2AACB4;C=489;L=208;
2016.10.25 07:18:10 4: OREGON: ERROR: Unknown sensor_id=5a5d bits=80 message='505A5D005870216044DF0C'.

ca T:21.8  H 48 %

2016.10.25 07:18:48 4: sduino/msg READ: MC;LL=-948;LH=1035;SL=-425;SH=524;D=55555555334CCD4CAAAAAB4CAAD4CAB2AAB4ACACD54D2D2AACB4;C=488;L=208;
2016.10.25 07:18:48 4: OREGON: ERROR: Unknown sensor_id=5a5d bits=80 message='505A5D005870216044DF0C'.

2016.10.25 07:19:26 4: sduino/msg READ: MC;LL=-948;LH=1056;SL=-404;SH=519;D=AAAAAAAA99A666A6555555A65555A559556656566AA69695565A0;C=487;L=209;
2016.10.25 07:19:26 5: OREGON: decoding delay=4 hex=585A5D005880215044DF0CE4
2016.10.25 07:19:26 4: OREGON: ERROR: checksum error sensor_id=5a5d (bits=88)

2016.10.25 07:19:26 4: sduino/msg READ: MC;LL=-943;LH=1049;SL=-430;SH=513;D=55555555334CCD4CAAAAAB4CAAAB4AB2AACCACACD54D2D2AACB4;C=489;L=208;
2016.10.25 07:19:26 4: OREGON: ERROR: Unknown sensor_id=5a5d bits=80 message='505A5D005880215044DF0C'.


ca T:30,7  H:76%

2016.10.25 07:20:42 4: sduino/msg READ: MC;LL=-939;LH=1058;SL=-418;SH=509;D=55555555334CCD4CAAAAAB4CAAB4CB32AAB4CB2D554D2D2AAB54;C=487;L=208;
2016.10.25 07:20:42 4: OREGON: ERROR: Unknown sensor_id=5a5d bits=80 message='505A5D0058602960C9DF0C'.

ca T:34,5 H:94 %

2016.10.25 07:21:20 4: sduino/msg READ: MC;LL=-926;LH=1061;SL=-428;SH=517;D=AAAAAAAA99A666A6555555A65566566955566596AAA69695656A0;C=488;L=209;
2016.10.25 07:21:20 5: OREGON: decoding delay=3 hex=585A5D0058503440C9DF0CF1
2016.10.25 07:21:20 4: OREGON: ERROR: checksum error sensor_id=5a5d (bits=88)

2016.10.25 07:21:20 4: sduino/msg READ: MC;LL=-936;LH=1064;SL=-405;SH=516;D=55555555334CCD4CAAAAAB4CAACCACD2AAACCB2D554D2D2ACAD4;C=486;L=208;
2016.10.25 07:21:20 4: OREGON: ERROR: Unknown sensor_id=5a5d bits=80 message='505A5D0058503440C9DF0C'.

ca T:28,3 H:96%

2016.10.25 07:21:58 4: sduino/msg READ: MC;LL=-942;LH=1061;SL=-414;SH=513;D=AAAAAAA99A666A6555555A655695599555A6596AAA69695566A0;C=488;L=205;
2016.10.25 07:21:58 5: OREGON: decoding delay=3 hex=585A5D0058302860C9DF0CF4
2016.10.25 07:21:58 4: OREGON: ERROR: checksum error sensor_id=5a5d (bits=88)

2016.10.25 07:21:58 4: sduino/msg READ: MC;LL=-938;LH=1060;SL=-420;SH=510;D=55555555334CCD4CAAAAAB4CAAD2AB32AAB4CB2D554D2D2AACD4;C=487;L=208;
2016.10.25 07:21:58 4: OREGON: ERROR: Unknown sensor_id=5a5d bits=80 message='505A5D0058302860C9DF0C'.

ca T:25,8 H:98%

2016.10.25 07:22:36 4: sduino/msg READ: MC;LL=-926;LH=1066;SL=-435;SH=511;D=55555555334CCD4CAAAAAB4CAAAB4CB2AAAB4B2D554D2D2AAB54;C=489;L=208;
2016.10.25 07:22:36 4: OREGON: ERROR: Unknown sensor_id=5a5d bits=80 message='505A5D0058802580C9DF0C'.

ca T:24,9 H:98%

2016.10.25 07:23:14 4: sduino/msg READ: MC;LL=-932;LH=1064;SL=-438;SH=506;D=55555555334CCD4CAAAAAB4CCACB2CB2AAAB4B4D554D2D2AB354;C=489;L=208;
2016.10.25 07:23:14 4: OREGON: ERROR: Unknown sensor_id=5a5d bits=80 message='505A5D0058912480D9DF0C'.

CA T:24,5 H:98%

2016.10.25 07:23:52 4: sduino/msg READ: MC;LL=-940;LH=1058;SL=-415;SH=514;D=55555555334CCD4CAAAAAB4CCACCACB2AAAB4B4D554D2D2AB4D4;C=487;L=208;
2016.10.25 07:23:52 4: OREGON: ERROR: Unknown sensor_id=5a5d bits=80 message='505A5D0058512480D9DF0C'.


ca T:22,9 H:98%

2016.10.25 07:24:30 4: sduino/msg READ: MC;LL=-933;LH=1062;SL=-431;SH=504;D=55555555334CCD4CAAAAAB4CCACB32B2AAAB4B4D554D2D2AAB54;C=488;L=208;
2016.10.25 07:24:30 4: OREGON: ERROR: Unknown sensor_id=5a5d bits=80 message='505A5D0058912280D9DF0C'.

Im Textfile ist der rest aus dem Log auch noch mit drin !

@ Sidey
Ich könnte beide Logs mitschneiden da Ich ein System mit Signalduino und ein System mit FHENduino laufen habe !! Ist allerdings schon etwas älter von der Firmware her !
V 2.3 FHEMduino - compiled at Nov 22 2015 15:54:19 ! Wie ist da der aktuelle Stand ? Wenns halt alles so läuft passiert da schon mal ein Jahr nix mehr !!
Wird aber erst heute nachmittag etwas werden !

Was mir auffällt das der Signalduino die Sensoren besser und immer aufzeichnet was beim FHEMduino nicht der Fall war ! Auch das Zeitweise neuanlegen von Devices hab Ich keine Probleme !

Gruß Dirk

Cruiser79

Zitat von: Sidey am 24 Oktober 2016, 16:13:10
Andere haben ESP Link verwendet und den ESP an einen Arduino angebunden.

Grüße Sidey

Können sich diejenigen denn mal melden? Ich habe das nämlich auch schon versucht, habe auch in den Kommentaren von diesem Blogeintrag

Zitat von: hjgode am 24 Oktober 2016, 18:57:29
wg ESP<->seriell<->SignalDuino kannst Du vielleicht hier was finden: http://www.hjgode.de/wp/2015/11/05/fhem-serielle-gerat-uber-wifi-anbinden/

Gruss

~Josef

meinen Aufbau als Bild gepostet, es hat nur nicht funktioniert. Der ESP und der Arduino wollten nicht miteinander kommunizieren, irgendwas lief also schief.
Falls also derjenige, der erfolgreich die ESP<->seriell<->SignalDuino Variante am Laufen hat, kurz seinen Aufbau skizzieren kann, wäre das super.

Gruß,
Tim
FHEM auf Raspberry Pi
HM-CFG-LAN mit HM-TC-IT-WM-W-EU, HM-CC-RT-DN, HM-WDS10-TH-O, HM-LC-SW1-FM, HM-LC-Bl1-FM
Signalduino mit Elro AB440, LOGILINK WS0002, IT CMR-1000

RappaSan


Ralf9

Zitat von: hdp1999 am 25 Oktober 2016, 08:11:36
Ich habe für den BTHR918 mal mehrere MSG mitgeschnitten ! Mit ca Temp und Feuchte angabe !

Hoffe es bringt dich etwas weiter !

ca T:21.8  H 48 %

2016.10.25 07:18:48 4: sduino/msg READ: MC;LL=-948;LH=1035;SL=-425;SH=524;D=55555555334CCD4CAAAAAB4CAAD4CAB2AAB4ACACD54D2D2AACB4;C=488;L=208;
2016.10.25 07:18:48 4: OREGON: ERROR: Unknown sensor_id=5a5d bits=80 message='505A5D005870216044DF0C'.

2016.10.25 07:19:26 4: sduino/msg READ: MC;LL=-948;LH=1056;SL=-404;SH=519;D=AAAAAAAA99A666A6555555A65555A559556656566AA69695565A0;C=487;L=209;
2016.10.25 07:19:26 5: OREGON: decoding delay=4 hex=585A5D005880215044DF0CE4
2016.10.25 07:19:26 4: OREGON: ERROR: checksum error sensor_id=5a5d (bits=88)

2016.10.25 07:19:26 4: sduino/msg READ: MC;LL=-943;LH=1049;SL=-430;SH=513;D=55555555334CCD4CAAAAAB4CAAAB4AB2AACCACACD54D2D2AACB4;C=489;L=208;
2016.10.25 07:19:26 4: OREGON: ERROR: Unknown sensor_id=5a5d bits=80 message='505A5D005880215044DF0C'.

Es fällt auf, daß viele der Nachrichten zu kurz sind (nur 80 Bit), da fehlt dann die checksum am Ende.
Bei den Nachrichten mit 88 Bit scheint die checksum zu passen, wenn man die nibble addiert und dann - A und + 80 macht (alles Hex)

Gruß Ralf
FHEM auf Cubietruck mit Igor-Image, SSD und  hmland + HM-CFG-USB-2,  HMUARTLGW Lan,   HM-LC-Bl1PBU-FM, HM-CC-RT-DN, HM-SEC-SC-2, HM-MOD-Re-8, HM-MOD-Em-8
HM-Wired:  HMW_IO_12_FM, HMW_Sen_SC_12_DR, Selbstbau IO-Module HBW_IO_SW
Maple-SIGNALduino, WH3080,  Hideki, Id 7

hdp1999

#2119
Hallo Ralf ,
kannst du mir sagen wie ich den denn trotzdem mit dem Signalduino empfangen kann ?? Das mit den Nibbels und dem Berechnen ist mir etwas zu hoch ! Bin da nicht so der Programmierer !
Könnte ich da was irgendwo ändern das das klappt ?
Werde nachher nochmal mit dem FHEMduino mitschneiden hoffe es hilt dabei den Sensor zu empfangen ! Weil der ja mit dem FHEMduino 100 % empfangen wird !
Gruß Dirk

Ralf9

Zitat von: hdp1999 am 25 Oktober 2016, 14:50:04
Hallo Ralf ,
kannst du mir sagen wie ich den denn trotzdem mit dem Signalduino empfangen kann ?? Das mit den Nibbels und dem Berechnen ist mir etwas zu hoch ! Bin da nicht so der Programmierer !
Könnte ich da was irgendwo ändern das das klappt ?

ich werde heute Abend die notwendigen Anpassungen am Oregon Modul vornehmen und es anhängen.

Gruß Ralf
FHEM auf Cubietruck mit Igor-Image, SSD und  hmland + HM-CFG-USB-2,  HMUARTLGW Lan,   HM-LC-Bl1PBU-FM, HM-CC-RT-DN, HM-SEC-SC-2, HM-MOD-Re-8, HM-MOD-Em-8
HM-Wired:  HMW_IO_12_FM, HMW_Sen_SC_12_DR, Selbstbau IO-Module HBW_IO_SW
Maple-SIGNALduino, WH3080,  Hideki, Id 7

hdp1999

#2121
@Ralf
Das währe Super  :) :) :)!

Was mir augefallen ist der Sensor sendet immer 2 x die Daten !

@Sidey @Ralf
Habe hier nochmal das mit FHEMduino mitgeschnitten !

Gruß Dirk

Sidey

Kannst Du die Logs gleichzeitig machen?

Mich würde interessieren, wie die Daten der gleichen Übertragung verarbeitet werden.

Zweimal, ist normal bei dem Protokoll.

Grüße Sidey
Signalduino, Homematic, Raspberry Pi, Mysensors, MQTT, Alexa, Docker, AlexaFhem

Maintainer von: SIGNALduino, fhem-docker, alexa-fhem-docker, fhempy-docker

hdp1999

#2123
Zitat von: Sidey am 25 Oktober 2016, 17:11:56
Kannst Du die Logs gleichzeitig machen?

Mich würde interessieren, wie die Daten der gleichen Übertragung verarbeitet werden.

Zweimal, ist normal bei dem Protokoll.

Grüße Sidey

Oh !!!!! da hat man echt manchmal ein Brett vorm Kopp !!  :o :o

So nun mit den Daten von beiden  in angehängtem LOG !! Hoffe es hilft !

Gruß Dirk

Ralf9

im Anhang ist das angepasste Oregon Modul
Bitte auch mal testen ob der Druck im plot sauber angezeigt wird.
Im Modul war der Druck beim state auskommentiert:
# do not add it due to problems with hms.gplot
$val .= "P: ".$i->{current}."  ";


Bis auf das letzte Byte (checksum) ist es gleich. Die checksum vom sduino ist um 0x80 zu hoch:
585A5D005850224044E40C57  FHEMduino
585A5D005850224044E40CD7  sduino


Gruß Ralf
FHEM auf Cubietruck mit Igor-Image, SSD und  hmland + HM-CFG-USB-2,  HMUARTLGW Lan,   HM-LC-Bl1PBU-FM, HM-CC-RT-DN, HM-SEC-SC-2, HM-MOD-Re-8, HM-MOD-Em-8
HM-Wired:  HMW_IO_12_FM, HMW_Sen_SC_12_DR, Selbstbau IO-Module HBW_IO_SW
Maple-SIGNALduino, WH3080,  Hideki, Id 7

hdp1999

#2125
Zitat von: Ralf9 am 25 Oktober 2016, 18:11:30
im Anhang ist das angepasste Oregon Modul
Bitte auch mal testen ob der Druck im plot sauber angezeigt wird.
Im Modul war der Druck beim state auskommentiert:
# do not add it due to problems with hms.gplot
$val .= "P: ".$i->{current}."  ";


Bis auf das letzte Byte (checksum) ist es gleich. Die checksum vom sduino ist um 0x80 zu hoch:
585A5D005850224044E40C57  FHEMduino
585A5D005850224044E40CD7  sduino


Gruß Ralf

Danke erst mal dafür ! Habe es eingebunden und werde berichten !



Gruß Dirk
   

hdp1999

Moin Ralf ,

habe es über Nach mal laufen lassen ! Sieht soweit gut aus ! Mega großes Danke dafür !  ;D ;D ;D :) :)

Was mir allerdings aufgefallen ist das die THGR228N nicht mehr so oft Empfangen werden wie in Vergleich zu meiner alten 41_Oregon.pm habe für die Sensoren die alte Checksummenberechnung eingefügt !

sub OREGON_checksum2plus {
  $_[0]->[8] == ((OREGON_nibble_sum(8,$_[0]) - 0xa) & 0xff);
}

Damit laufen die THGR228 auch bei mir wieder in 3 Min Takt !

Gruß Dirk

hjgode

#2127
Hallo Tim


deine Schaltung ist soweit OK und im Blog hattest Du nix davon geschrieben, dass es bei Dir nicht funktioniert. 'Geht nicht' ist eine sehr allgemeine Beschreibung.

Erst einmal muss dein Arduino/Signalduino/Fhemduino funktionieren. Also wenn Du über USB seriell dran gehst solltest Du in Deinem Terminal Programm die Daten sehen können, die das Programm über die Serielle Schnittstelle ausspuckt. Eventuell musst Du die Baudrate anpassen und merken.

Dann muss Dein esp8266/nodeMCU mit esplink funktionieren. Zum Test brauchst Du erst einmal keine serielle Verbindung aber ein funktionierendes WLAN. Dann erst mit dem esplink Access Point Namen verbinden und Deine WLAN Konfiguration setzen. Danach verbindet sich esplink mit Deinem WLAN und Du müsstest ihn über eine IP Adresse Deines WLANs erreichen können.

Nun kannst Du TX vom Arduino/Nano über einen 10K (plus 20K nach Masse) an RX vom esp8266/nodeMCU anschliessen und RX vom Arudino/Nano an TX vom esp8266/nodeMCU verbinden. Die GND Anschlüsse von Arduino/Nano und dem esp8266/nodeMCU verbinden.

Nun sollten die seriellen Daten in der esplink Webseite "uC Console" erscheinen. Eventuell musst Du eine andere Baudrate auswählen.

Wenn das funktioniert kann man die seriellen Daten auch gespiegelt über den Port 23 und er esplink IP Adresse empfangen (und darüber auch Befehle an den Arduino/nano senden).

Meine aktuell laufende Schaltung aus Nano mit Signalduino Software und einem ESP-01 mit esplink 1.0.4 habe ich auf meinem Blog gepostet, dem ist nichts hinzuzufügen.

~Josef


Zitat von: Cruiser79 am 25 Oktober 2016, 08:56:11
Können sich diejenigen denn mal melden? Ich habe das nämlich auch schon versucht, habe auch in den Kommentaren von diesem Blogeintrag

meinen Aufbau als Bild gepostet, es hat nur nicht funktioniert. Der ESP und der Arduino wollten nicht miteinander kommunizieren, irgendwas lief also schief.
Falls also derjenige, der erfolgreich die ESP<->seriell<->SignalDuino Variante am Laufen hat, kurz seinen Aufbau skizzieren kann, wäre das super.

Gruß,
Tim
Debian SID mit aktuellem FHEM, nanoCUL 866, JeeLink EC3000, fhemduino, SIGNALduino,
3 x TFA TH Sensor, 1 x TFA TH Arduino Sender, 3 x EC3000, 4 x Elro Schaltsteckdosen, ESA2000
offline: Wibo Funkthermostat, 2 x ELV Funkthermostat FHT80, 2 FS20 ST4 Funksteckdose

Kuzl

Man kann sich die Pegelanpassung auch sparen, wenn man den Arduino einfach mit 3.3V versorgt. Funktioniert genau so und läuft bei mir seit einiger Zeit wunderbar.

Cruiser79

Zitat von: hjgode am 26 Oktober 2016, 08:20:57
Hallo Tim


deine Schaltung ist soweit OK und im Blog hattest Du nix davon geschrieben, dass es bei Dir nicht funktioniert. 'Geht nicht' ist eine sehr allgemeine Beschreibung.

Erst einmal muss dein Arduino/Signalduino/Fhemduino funktionieren. Also wenn Du über USB seriell dran gehst solltest Du in Deinem Terminal Programm die Daten sehen können, die das Programm über die Serielle Schnittstelle ausspuckt. Eventuell musst Du die Baudrate anpassen und merken.

Dann muss Dein esp8266/nodeMCU mit esplink funktionieren. Zum Test brauchst Du erst einmal keine serielle Verbindung aber ein funktionierendes WLAN. Dann erst mit dem esplink Access Point Namen verbinden und Deine WLAN Konfiguration setzen. Danach verbindet sich esplink mit Deinem WLAN und Du müsstest ihn über eine IP Adresse Deines WLANs erreichen können.

Nun kannst Du TX vom Arduino/Nano über einen 10K (plus 20K nach Masse) an RX vom esp8266/nodeMCU anschliessen und RX vom Arudino/Nano an TX vom esp8266/nodeMCU verbinden. Die GND Anschlüsse von Arduino/Nano und dem esp8266/nodeMCU verbinden.

Nun sollten die seriellen Daten in der esplink Webseite "uC Console" erscheinen. Eventuell musst Du eine andere Baudrate auswählen.

Wenn das funktioniert kann man die seriellen Daten auch gespiegelt über den Port 23 und er esplink IP Adresse empfangen (und darüber auch Befehle an den Arduino/nano senden).

Meine aktuell laufende Schaltung aus Nano mit Signalduino Software und einem ESP-01 mit esplink 1.0.4 habe ich auf meinem Blog gepostet, dem ist nichts hinzuzufügen.

~Josef

Hi Josef,

wollte jetzt auch nicht aussagen, das der Blogeintrag nicht stimmt, sondern nur, das an meiner Zeichnung, oder meinem Aufbau etwas falsch gewesen sein muss. Wegen Zeitmangel hatte ich die Fehlersuche seinerzeit fallen gelassen und mich nicht weiter mit dem Projekt befasst. Meine Fehlerbeschreibung war so aussagelos, da ich dafür auch keine Lösung haben wollte. Ich müsste eh alles nochmal von vorne aufbauen um die Fehlerstelle genau herauszufinden.

Eine Frage hätte ich aber doch noch direkt dazu: Wird der Arduino von dir mit Strom versorgt, oder der NodeMCU?
Wenn ich @Kuzl seinen Satz richtig deute, scheint er ja den NodeMCU mit Strom zu versorgen und den Arduino über 3.3V angeschlossen zu haben.

Gruß,
Tim
FHEM auf Raspberry Pi
HM-CFG-LAN mit HM-TC-IT-WM-W-EU, HM-CC-RT-DN, HM-WDS10-TH-O, HM-LC-SW1-FM, HM-LC-Bl1-FM
Signalduino mit Elro AB440, LOGILINK WS0002, IT CMR-1000