Integration von MySensors in FHEM geplant?

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

Vorheriges Thema - Nächstes Thema

fh168

mein aktueller Abruf wirft das raus:

Can't locate Net/MQTT/Constants.pm in @INC (@INC contains: /etc/perl /usr/local/lib/perl/5.14.2 /usr/local/share/perl/5.14.2 /usr/lib/perl5 /usr/share/perl5 /usr/lib/perl/5.14 /usr/share/perl/5.14 /usr/local/lib/site_perl . ./FHEM ./FHEM/lib) at ./FHEM/00_MQTT.pm line 30.
BEGIN failed--compilation aborted at ./FHEM/00_MQTT.pm line 30.
Hue, Lacrosse, PCA301, MySensors, V 1.67 CUL 868 V3.4, Lacrosse-WLAN-Gateway, Tasmota RF-

hexenmeister

Da kam wohl das Verzeichnis im Lib nicht mit.
Ich denke, neue Verzeichnisse werden nicht automatisch beim Update übernommen.
Davon abgesehen, ich habe zwar diese Dateien, aber trotzdem ein anderes Error.

fh168

#47
ich habe das verzeichnis aus dem trunk - möglicherweise umständlich mit ftp - auf mein fhem gebeamt.

war sogar ohne fehlermeldung.
nun frage ich mich wie ich bspw. ein reed-schalter da lesemäßig ansprechen kann.
und woran sehe ich, ob meine Netzwerkkarte vom arduino überhaupt funktioniert? Steht dann in den Properties von fhem dann connect?

define mySensors MQTT 192.168.178.234:1883    reicht ja nicht

DEF   
192.168.178.234:1883
DeviceName
192.168.178.234:1883
NAME
mySensors
NEXT_OPEN
1412279472
NOTIFYDEV
global
NR
3
NTFY_ORDER
50-mySensors
PARTIAL
STATE
disconnected
TYPE
MQTT
msgid[/code]

Serial monitor wirft bei geschlossenen Reed-Kontakt folgendes aus:

Started!
0;0;3;0;9;read: 255-255-0 s=255,c=3,t=3,pt=0,l=0:
Hue, Lacrosse, PCA301, MySensors, V 1.67 CUL 868 V3.4, Lacrosse-WLAN-Gateway, Tasmota RF-

hexenmeister

Zitat von: fh168 am 02 Oktober 2014, 21:52:31
nun frage ich mich wie ich bspw. ein reed-schalter da lesemäßig ansprechen kann.
und woran sehe ich, ob meine Netzwerkkarte vom arduino überhaupt funktioniert? Steht dann in den Properties von fhem dann connect?

Naja es scheint sich nicht konnecten zu können. Wenn die Adresse stimmt, dann funktioniert einer der beiden Teilehmen (FHEM-Modul vs. MySensors-Gateway Sketch) nicht korrekt.


fh168

Hue, Lacrosse, PCA301, MySensors, V 1.67 CUL 868 V3.4, Lacrosse-WLAN-Gateway, Tasmota RF-

fh168

#50
wie kann man antesten, beim arduino modul die netzwerkkarte funktioniert?
Hue, Lacrosse, PCA301, MySensors, V 1.67 CUL 868 V3.4, Lacrosse-WLAN-Gateway, Tasmota RF-

fh555

Das wuerde mich auch interessieren, da weder ein ping, web oder telnet Verbindung auf die IP:Port funktioniert.
Eine serielle Ausgabe über den Lan Gateway funktioniert, somit melden sich die Sensoren schon einmal am Gateway an.

fh555

so ich bin nun einen Schritt weiter :-)

Eiin Ping und eine Telnet Verbindung funktioniert. Jetzt den Trunk in fhem/lib/net eingepflegt mit den entsprechenden Rechten.
In die fhem.cfg den Eintrag "define MQTT_MySensors MQTT 192.168.100.250:1883" ergänzt.

Nun bekomme ich folgende Fehlermeldungen :-(


Constant subroutine main::MQTT_PINGRESP redefined at FHEM/lib/Net/MQTT/Constants.pm line 44, <$fh> line 61.
Constant subroutine main::MQTT_CONNECT_ACCEPTED redefined at FHEM/lib/Net/MQTT/Constants.pm line 44, <$fh> line 61.
Constant subroutine main::MQTT_UNSUBSCRIBE redefined at FHEM/lib/Net/MQTT/Constants.pm line 44, <$fh> line 61.
Constant subroutine main::MQTT_QOS_AT_LEAST_ONCE redefined at FHEM/lib/Net/MQTT/Constants.pm line 44, <$fh> line 61.
Constant subroutine main::MQTT_DISCONNECT redefined at FHEM/lib/Net/MQTT/Constants.pm line 44, <$fh> line 61.
Constant subroutine main::MQTT_PUBREL redefined at FHEM/lib/Net/MQTT/Constants.pm line 44, <$fh> line 61.
Constant subroutine main::MQTT_CONNECT_REFUSED_SERVER_UNAVAILABLE redefined at FHEM/lib/Net/MQTT/Constants.pm line 44, <$fh> line 61.
Constant subroutine main::MQTT_QOS_AT_MOST_ONCE redefined at FHEM/lib/Net/MQTT/Constants.pm line 44, <$fh> line 61.
Constant subroutine main::MQTT_UNSUBACK redefined at FHEM/lib/Net/MQTT/Constants.pm line 44, <$fh> line 61.
Constant subroutine main::MQTT_CONNECT redefined at FHEM/lib/Net/MQTT/Constants.pm line 44, <$fh> line 61.
Constant subroutine main::MQTT_CONNECT_REFUSED_NOT_AUTHORIZED redefined at FHEM/lib/Net/MQTT/Constants.pm line 44, <$fh> line 61.
Constant subroutine main::MQTT_PINGREQ redefined at FHEM/lib/Net/MQTT/Constants.pm line 44, <$fh> line 61.
Constant subroutine main::MQTT_PUBCOMP redefined at FHEM/lib/Net/MQTT/Constants.pm line 44, <$fh> line 61.
Constant subroutine main::MQTT_PUBLISH redefined at FHEM/lib/Net/MQTT/Constants.pm line 44, <$fh> line 61.
Constant subroutine main::MQTT_CONNECT_REFUSED_IDENTIFIER_REJECTED redefined at FHEM/lib/Net/MQTT/Constants.pm line 44, <$fh> line 61.
Constant subroutine main::MQTT_SUBACK redefined at FHEM/lib/Net/MQTT/Constants.pm line 44, <$fh> line 61.
Constant subroutine main::MQTT_PUBACK redefined at FHEM/lib/Net/MQTT/Constants.pm line 44, <$fh> line 61.
Constant subroutine main::MQTT_CONNACK redefined at FHEM/lib/Net/MQTT/Constants.pm line 44, <$fh> line 61.
Constant subroutine main::MQTT_SUBSCRIBE redefined at FHEM/lib/Net/MQTT/Constants.pm line 44, <$fh> line 61.
Constant subroutine main::MQTT_CONNECT_REFUSED_UNACCEPTABLE_PROTOCOL_VERSION redefined at FHEM/lib/Net/MQTT/Constants.pm line 44, <$fh> line 61.
Constant subroutine main::MQTT_CONNECT_REFUSED_BAD_USER_NAME_OR_PASSWORD redefined at FHEM/lib/Net/MQTT/Constants.pm line 44, <$fh> line 61.
Constant subroutine main::MQTT_QOS_EXACTLY_ONCE redefined at FHEM/lib/Net/MQTT/Constants.pm line 44, <$fh> line 61.
Constant subroutine main::MQTT_PUBREC redefined at FHEM/lib/Net/MQTT/Constants.pm line 44, <$fh> line 61.


dann

2014.10.03 00:46:48 1: 192.168.100.250:1883 disconnected, waiting to reappear (MQTT_MySensors)
2014.10.03 00:46:48 1: 192.168.100.250:1883 reappeared (MQTT_MySensors)

Gruß Jens

fh168

#53
Das sieht schon mal gut aus

connection
active
2014-10-03 10:24:37


jetzt nur noch einen Sensor einbinden, geht das mit

  subscribeSet
45/0/V_9/set
  ??

Danke schon mal an fh555 :-)



Sensoren melden sich selber :-),

Screenshot vom Arduino - Serial Monitor

MyMQTT/20/0/V_TRIPPED
>>30 18 00 15 4D 79 4D 51 54 54 2F 32 30 2F 30 2F 56 5F 54 52 49 50 50 45 44 30
0;0;3;0;9;read: 20-20-0 s=0,c=1,t=16,pt=2,l=2:1
MyMQTT/20/0/V_TRIPPED
>>30 18 00 15 4D 79 4D 51 54 54 2F 32 30 2F 30 2F 56 5F 54 52 49 50 50 45 44 31
0;0;3;0;9;read: 20-20-0 s=0,c=1,t=16,pt=2,l=2:0
MyMQTT/20/0/V_TRIPPED
>>30 18 00 15 4D 79 4D 51 54 54 2F 32 30 2F 30 2F 56 5F 54 52 49 50 50 45 44 30
0;0;3;0;9;read: 20-20-0 s=0,c=1,t=16,pt=2,l=2:1
MyMQTT/20/0/V_TRIPPED
>>30 18 00 15 4D 79 4D 51 54 54 2F 32 30 2F 30 2F 56 5F 54 52 49 50 50 45 44 31
0;0;3;0;9;read: 45-45-0 s=3,c=1,t=16,pt=2,l=2:0
MyMQTT/45/3/V_TRIPPED
>>30 18 00 15 4D 79 4D 51 54 54 2F 34 35 2F 33 2F 56 5F 54 52 49 50 50 45 44 30
0;0;3;0;9;read: 45-45-0 s=3,c=1,t=16,pt=2,l=2:1
MyMQTT/45/3/V_TRIPPED
>>30 18 00 15 4D 79 4D 51 54 54 2F 34 35 2F 33 2F 56 5F 54 52 49 50 50 45 44 31
>>D0 00
<<C0 00
>>D0 00
<<C0 00
>>D0 00



Updata reedkontakt (1 / 0) Zustände

define mqtt MQTT 192.168.178.234:1883


define mqtt_Reedschalter2 MQTT_DEVICE
attr mqtt_Reedschalter2 IODev mqtt
attr mqtt_Reedschalter2 stateFormat transmission-state
attr mqtt_Reedschalter2 subscribeReading_state MyMQTT/45/3/V_TRIPPED



Ergebnis sieht dann so aus.

   Readings
state
1
2014-10-03 12:43:55
transmission-state
publish received
2014-10-03 12:43:54


Einen herzlichen Dank an die Programmierer!!!
Wenn das ausgerollt wird, werde ich einen Blog-Beitrag darüber schreiben. Ein interessantes Thema.



Kann man das ganze nicht USB laufen lassen zum Raspi hin? Jetzt habe ich wieder ein Netzwerkkabel hier rumliegen..mag ich nicht.

Das Bild zeigt einen Arduino Uno mit einem Net-Shield  (W 5100 Ethernet-Module) und einem Feuchtigkeitssensor. Meinen Distanzsensor, den ich damals mal gebaut habe, habe ich leider schon wieder auseinandergerupft ;-): http://blog.moneybag.de/drahtloser-distanzsensor-mit-arduino-nrf24l01-und-ultraschallsensor/


(http://blog.moneybag.de/wp-content/uploads/2014/10/mysensors.jpg)


Robin
Hue, Lacrosse, PCA301, MySensors, V 1.67 CUL 868 V3.4, Lacrosse-WLAN-Gateway, Tasmota RF-

hexenmeister

Per usb geht nicht (ohne weiteres) mit MQTT.

fh168

Schade, wieder ein Kabel mehr.

Die Software läuft stabil, habe schon den ganzen Tag das Ding am rennen mit zwei Sensoren.

robin
Hue, Lacrosse, PCA301, MySensors, V 1.67 CUL 868 V3.4, Lacrosse-WLAN-Gateway, Tasmota RF-

ntruchsess

mqtt über USB wäre vom Protokoll her kein Problem - mqtt arbeit ja mit einer dauerhaften Socket-verbindung, über die alles gestreamt wird. Nach meinem Verständnis sollte man das ganz einfach mit socat von USB nach TCP/IP umsetzen können (USB mir virtueller serieller Schnittstellt -> socat -> socket-verbindung nach mqtt). Ich weiß allerdings nicht, wie robust das gegen Ausfall oder Neustart einer der Komponenten wäre.

die fhem MQTT-module implementieren selber jedenfalls keinen Broker, sondern nur den mqtt-client. Deshalb kann man die MQTT-bridge nicht so ohne weiteres  direkt über USB mit dem Modul verbinden lassen. Aber dass muss ich mir noch mal im Detail ansehen (also im Source-code der mqtt-bridge), ob die nicht auch mit geringen Änderungen mit einem mqtt-client reden könnte zu dem sie über einen Stream (also z.B. USB) direkt verbunden wäre.

Gruß,

Norbert
while (!asleep()) {sheep++};

fh168

Hallo Norbert,

eilt alles nicht. Ist ein nice to have. Ich bin schon glücklich das endlich diese Technologie jetzt zur Verfügung steht. Danke nochmals dafür.
Ich habe es bisher geschafft, ein Reed-Kontakt von MySensors in Fhem zu implementieren. Siehe letzten Post. Reicht eigentlich für mich auch. Alle anderen Sketches (Temperaturmodule etc.) werden bei mir nicht automatisch erkannt.

robin
Hue, Lacrosse, PCA301, MySensors, V 1.67 CUL 868 V3.4, Lacrosse-WLAN-Gateway, Tasmota RF-

fh555

Hallo,

so ich habe es nun auch endlich am Laufen, da mein w5100 heute endlich gekommen ist.
Einige Sensoren habe ich schon erfolgreich ohne größere Probleme ins System integrieren können.

Wenn ich demnächst (in ca. 3 Wochen) mehr Zeit habe, nehme ich das mit den ENC28J60 noch einmal in Angriff,
da das noch eine kostengünstigere und vorallem kleiner Variante ist.

Bis dahin sollten auch meine restlichen Teile aus China eingetroffen sein :-)

Gruß Jens

ntruchsess

Zitat von: fh555 am 08 Oktober 2014, 22:34:20
Wenn ich demnächst (in ca. 3 Wochen) mehr Zeit habe, nehme ich das mit den ENC28J60 noch einmal in Angriff,

Wie groß ist der mqtt-bridge Sketch denn, wenn man ihn für den W5100 compiliert? (Die ENC28J60-variante braucht nämlich ein paar kb mehr).

Gruß,

Norbert
while (!asleep()) {sheep++};