Integration von MySensors in FHEM geplant?

Begonnen von fh555, 06 September 2014, 00:40:58

Vorheriges Thema - Nächstes Thema

tonyf

auch hier keine reaktion ..
wenn keine lösung in sicht ist, dann heisst es für mich fallback zurück nach 2.0.0.
da hat alles einwandfrei funktioniert.

danke&gruss
tony
INTEL DN2820FYKH NUC: 4 gb, 250 ssd hd als nas, fhem 5.6
cul 433 - IT aktoren - relaiskarte an raspberry pi

Beta-User

Zitat von: hjgode am 05 Januar 2017, 22:22:22
Bei meinem Sensor und Gtaeway habe ich ACK nicht verwenden können. Nachricht wurde vom Gateway nicht verarbeitet. Habe ich nicht weiter verfolgt aber möglicherweise funktioniert ACK nicht richtig in der 2.x API.
Erfahrungswert dazu:
Meine wichtigste Node hat zwei Childs, die mit ACK senden. Das scheint problemlos zu funktionieren (von 2.0.0-beta bis 2.1.0-beta, noch nicht getestet in der finalen Version). Allerdings ist es nicht das (USB-)GW, das die ACKs haben will, sondern die 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

tonyf

guten morgen zusammen,

die heiligen 3 könige haben die lösung mitgebracht.
nicht zu glauben, dass es weiterhin an die board-definitionen lag. obwohl das gateway mit dem IDE 1.8.0 nicht mehr in reboot schleife hängt.
jetzt habe ich IDE 1.6.9 verwendet und schau her, es tut alles wieder wie V2.0.0.

einziger unterschid: gateway meldet jetzt "startup complete" anstatt "connected", s.bild.

ich haben auch nicht weiter geprüft, ob die modifikation von Hauswart erforderlich waren - habe die änderungen auch so belassen.

@hjgode: jetzt antwortet auch die telnet abfrage:
Zitat
xxxx@HOMENET:~$ telnet 192.168.178.166 5003
Trying 192.168.178.166...
Connected to 192.168.178.166.
Escape character is '^]'.
1;1;1;2;1;
0;255;3;0;14;Gateway startup complete.
0;255;0;0;18;2.1.0
Connection closed by foreign host.
xxxx@HOMENET:~$ telnet 192.168.178.166 5003
Trying 192.168.178.166...
Connected to 192.168.178.166.
Escape character is '^]'.
1;1;0;2;1;
0;255;3;0;14;Gateway startup complete.
0;255;0;0;18;2.1.0
Connection closed by foreign host.
xxxx@HOMENET:~$

also es gilt weiterhin den hinweis vom Beta-User: Board-Definitionen (<=1.6.11).

ich kann mich bei allen nur herzlich bedanken, grossartiges community.

gruss
tony
INTEL DN2820FYKH NUC: 4 gb, 250 ssd hd als nas, fhem 5.6
cul 433 - IT aktoren - relaiskarte an raspberry pi

hjgode

Hi tony

erstmal: super dass es bei Dir nun läuft...

Ich möchte ja nicht die Pferde scheu machen, aber ich hoffe Du hast die Verbindung unterbrochen und nicht der Gateway:
xxxx@HOMENET:~$ telnet 192.168.178.166 5003
Trying 192.168.178.166...
Connected to 192.168.178.166.
Escape character is '^]'.
1;1;1;2;1;
0;255;3;0;14;Gateway startup complete.
0;255;0;0;18;2.1.0
Connection closed by foreign host.


Das liesst sich als ob der Gateway nach der Antwort 'aufgelegt' hat! Das wäre nicht korrekt.

~josef
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

tonyf

hi Josef,


telnet session wird vom gateway geschlossen.
Was ist noch nicht in ordnung ?

vielen dank
gruss
tony
INTEL DN2820FYKH NUC: 4 gb, 250 ssd hd als nas, fhem 5.6
cul 433 - IT aktoren - relaiskarte an raspberry pi

hjgode

Wenn das so ist

telnet session wird vom gateway geschlossen.

Wie soll FHEM oder der MSyscontroller oder welcher Controller auch immer denn mit bekommen, wenn einer der Sensoren ein Update sendet, wenn die Verbindung vom Gateway beendet wurde?

Eigentlich ist die Verbindung Controller<->Gateway immer offen (connected, established). Der Controller öffnet bei Start die Verbindung und hält sie bis zu einem gewollten Disconnect offen. Der Gateway vermittelt nun Set oder Get Nachrichten zwischen dem Controller und den Sensoren/Actoren. Wenn der Gateway keine Verbindung zum Controller hat, kann der Sensor zwar an den Gateway senden aber im Controller kommt nix an.

Vielleicht solltest Du Dein Gateway mal seriell anschliessen um zu sehen, was der Code so treibt. Setzen von
#define MY_DEBUG
beim Kompilieren nicht vergessen.

~josef

PS: MYsyController gibts übrigens hier: https://forum.mysensors.org/topic/838/windows-gui-controller-for-mysensors
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

tonyf

hi Josef,

habe ausfürhlich getestet, jede änderung am sensor auch manuell durch den button wird vom FHEM sofort erkannt.
wenn ich den sensor ausschalte und diesen in FHEM triggere, ändert sich der status im FHEM nicht, erst wenn ich den sensor wieder einschalte und acknowledge registriert wird.

für mich siehr alles gut aus und alles funktioniert einwandfrei - vom enduser sicht.

wenn du hier in diesem thread suchst, findest etliche infos, dass der gateway immer den status "startup complete" hat und nicht "connected".

falls du noch das als problem siehst, wäre ich dir für jeden tipp sehr dankbar.

gruss
tony
INTEL DN2820FYKH NUC: 4 gb, 250 ssd hd als nas, fhem 5.6
cul 433 - IT aktoren - relaiskarte an raspberry pi

hjgode

Hallo tony

wenn ich mich recht erinnere benutzt Du 'nur' einen Switch-Aktor. Das heisst Du sendest ein Nachricht vom Controller (FHEM) and den 'Sensor' (Aktor). Dieser führt den Befehl dann aus. Wenn mit ACK Request an den 'Sensor' gesendet wurde, dann sendet der Aktor dann das ACK zurück.

FHEM scheint die geschlossene Verbindung bei dieser Art der Anwendung nicht zu stören. Es macht einfach die Verbindung wieder auf und sendet den Aktor-Befehl. Dass die Verbindung danach vom Gateway geschlossen wird, scheint FHEM dann nicht zu interessieren (deshalb ja auch meine Bitte um diese periodische Connection-Abfrage an hauswart).

Was aber, wenn Du einen 'echten' Sensor hast. Der Gateway kann keine Verbindung zum FHEM Controller aufbauen, die Verbindung muss von aussen (aus Sicht des Netzwerk-Gateways) kommen. Die Sensordaten sind dann wech.

Hast Du nur den Aktor, dann kann Dir das egal sein. Hauptsache es läuft für Dich. Wundere Dich dann nicht über evtl. wechselnde Connected/StartupComplete/Disconnected Stati Deines Gateways in FHEM.

Übrigens macht mein ESP8266-Mysensors Gateway die Connection bei Telnet nicht von sich aus zu. Möglicherweise liegt das an der Netzwerk-Implementierung das w5100-Gateways. Der W5100 kann zB wohl nur einen Client bedienen:
// W5100/ENC module does not have hasClient-method. We can only serve one client at the time.
EthernetClient newclient = _ethernetServer.available();
// if a new client connects make sure to dispose any previous existing sockets
if (newclient) {
if (client != newclient) {
client.stop();
client = newclient;


Wenn Du also mit FHEM und Telnet verbinden willst, wird die jeweils andere Verbindung gekappt.

Wie gesagt, wenn's bei Dir läuft, super.

~josef
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

tonyf

hi Josef,

nicht nur relay aktor, alles noch testphase.
habe auch mit motion und dht22 sensoren getestet. alles sieht wirklich perfekt aus.
daten flattern sauber rein.
FHEM - gateway - sensoren unterhalten sich wie es sein soll.

ich kann momentan kein problem erkennen, ich teste aber weiter - auch andere sensoren - und berichte dann.

nochmal besten dank
gruss
tony
INTEL DN2820FYKH NUC: 4 gb, 250 ssd hd als nas, fhem 5.6
cul 433 - IT aktoren - relaiskarte an raspberry pi

gloob

#1044
Dann will ich mal auch noch meine aktuelle Erfahrung wiedergeben.

Ich nutze für mein WiFi Gateway aktuell einen Wemos Mini mit SMD NRF24L01+PA+LNA Modul.

Folgende Software Versionen nutze ich:
Arduino IDE: 1.8.0
ESP Version: 2.3.0
Arduino AVR Boards: 1.6.16
MySensors: 2.1.0

Ich habe mit dem Gateway absolut keine Probleme. Alle Sensoren werden sauber empfangen.
Bei den Sensoren nutze ich aktuell noch unterschiedliche MySensors Versionen. (1.5.4, 2.0, 2.1.0 Beta, 2.1.0)


Aktuell hätte ich auch noch ein solches Gateway abzugeben.

Raspberry Pi 3 | miniCUL 433MHz | nanoCUL 868 MHz | nanoCUL 433 MHz | MySensors WLAN Gateway | LaCrosse WLAN Gateway | SignalESP 433 MHz | SignalESP 868 MHz | HM-MOD-UART WLAN Gateway | IR - 360 Grad WLAN Gateway

hjgode

Ich denke mal, die Probleme mit dem Ethernet-Gateway sind darin begründet, das er nur einen Ethernet-Client bedienen kann. Sobald sich ein zweiter Client über Port 5003 verbindet, wird der aktuelle Client getrennt.
Wenn nun FHEM als MySensors Controller läuft und sonst kein zweiter 'Controller' eine Verbindung zum Port 5003 des Gateways öffnet, läuft alles. Wenn man dann aber anfängt zu testen, während FHEM läuft, zum Beispiel eine Telnet Session oder MySyscontroller mit dem Gateway verbindet, wird die FHEM Verbindung getrennt werden. Wenn ich dann, zB, mit Telnet eine Nachricht an den Controller sende und dann aber FHEM die Verbindung im Hintergund wieder aufbaut, wird die Telnet-Session vom Controller getrennt.

Anders kann ich mir das derzeit nicht erklären.

Ich hatte damals schon zu viele Probleme mit dem ENJ Ethernet Teil (AVR-Net-IO) und dann auch mit dem W5100 als das ich jetzt Lust hätte die wieder rauszukramen. Mit dem ESP8266 kann ich FHEM, Telnet und MySyscontroller gleichzeitig auf das MySensors-Gateway verbinden. (Obwohl ich da auch seltsame versteckte FHEM Disconnects hatte und deshalb die DevIO.pm und 00_MySensors.pm angepasst habe damit das erste Keep_Alive nicht nach zwei Stunden für die FHEM Verbindung kommt und zum anderen in FHEM ersichtlich ist, ob der Gateway noch aktiv verbunden ist-das sieht man jetzt nämlich nicht).

~Josef
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

kleinerDrache

Ich klink mich auch mal kurz hier ein. Nutze selber den Hexenmeister Gateway aber mit aktueller Firmware (Beta). Auch dieser kann nur EINE Verbindung zur Zeit, allerdings kann ich z.B. wenn die Verbindung zum FHEM besteht NICHT einfach mit MYSController verbinden das klappert nicht. Ich muss erst FHEM trennen und dann funzt MYSController.
Raspi 2 - Hmusb2 , 2xJeeLink , EnOcean pi: Serie14 Geräte , 6xHM-Sec-Rhs , 6xHM-CC-RT-DN, verschiedene MySensor Nodes, ein bischen MQTT

tonyf

das ist ja ein grosse schwachsinn mit dem ethernet gateway, war gedacht als zentrals gateway und von überall zugreifbar z.bsp. test parallel zu live FHEM umgebung.
folgendes habe ich gearde getestet:

alle meine beiträge oben haben sich in der test umgebung abgespielt.
jetzt wollte ich testen, ob das WS5100 nur ein session erlaubt. dafür habe ich das gateway 1:1 im parallel betrieb mit der live umgebung verbunden.

gateway status in beiden FHEM instanzen flackert rasant zwischen "disconnected" und "connected" und keins von beiden systemen kann mit dem gateway saubere verbindung aufbauen.
trenne ich es aber von einer FHEM instanz dann läuft es problemlos.

ich frage mich dann, welche vorteile hat das ethernet gateway gegenüber seriell !!!???

tony
INTEL DN2820FYKH NUC: 4 gb, 250 ssd hd als nas, fhem 5.6
cul 433 - IT aktoren - relaiskarte an raspberry pi

kleinerDrache

Ethernet kann halt ÜBERALL in deinem Netzwerk sein, der Serielle muss halt an den Seriellen Port.
Raspi 2 - Hmusb2 , 2xJeeLink , EnOcean pi: Serie14 Geräte , 6xHM-Sec-Rhs , 6xHM-CC-RT-DN, verschiedene MySensor Nodes, ein bischen MQTT

hjgode

Hallo zusammen

noch mal zusammengefasst:

Der MySensors Ethernet Gateway unterstützt nur eine aktive Netzwerk-Verbindung. Dies liegt aber nicht am W5100 (ENJ habe ich noch nicht recherchiert). Der W5100 kann max 4 Verbindungen. Es liegt an der Arduino Ethernet Library.

Referenzen: https://github.com/mysensors/MySensors/issues/398 und https://forum.mysensors.org/topic/3114/other-controller-get-disconnected-when-sending-any-command-to-the-eth-gateway-v2-0/12

MySensors development schiebt das 'Problem' an die Ethernet Lib Entwickler.

Als Alternative oder Workaround kann man zum MySenors MQTT Gateway wechseln. Der MQTT Gateway kommuniziert nur mit dem MQTT Broker und alle 'Clients' (besser: Controller, FHEM etc) kommunizieren über den Broker mit dem Gateway. Es gibt also nur eine Netzwerk-Verbindung vom MQTT-MySensors Gateway zum Broker und beliebige MQTT Abonnenten dazu.

~Josef
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