Hallo zusammen,
ich bin kurz davor, den hier öfters behandelten Energiemesser Owl +USB, für den es bei Nuztzung des entsprechenden fhem-Moduls immer wieder neuer Kernel-Treiber bedarf (die aber keiner mehr machen mag), in mein fhem zurück zu holen. Ohne Notwendigkeit von sql-DBs, Apache usw.
Der Fork https://github.com/jesjimher/eagle-owl von Jesús Jiménez schickt den aktuellen Energieverbrauch per MQTT raus: Kompilieren und Senden an fhem (auf demselben Raspberry) habe ich zu meiner Verwunderung auch hinbekommen.
Die Config von eagleowl sieht so aus:
# MQTT broker connection information for publishing values as a MQTT topic
mqtt_host="127.0.0.1"
mqtt_port=1883
mqtt_topic="eagleowl"
In fhem habe ich per
define m2s MQTT2_SERVER 1883 global
angelegt. autocreate = simple. Der empfängt auch mqtt-Traffic:
mosq_8U9mZRcm_NmQAZK_rK eagleowl 547.400000
mosq_8U9mZRcm_NmQAZK_rK eagleowl 597.400000
der letzte Wert in der Zeile ist der Verbrauch in Watt.
Allerdings wird kein Device angelegt, und manuell habe ich es auch nicht hinbekommen mit
define myowl MQTT2_DEVICE eagleowl
bzw.
define myowl MQTT2_DEVICE mosq_8U9mZRcm_NmQAZK_rK
Habe es auch mit ein paar Templates versucht, aber da kommt nix.
Da ich zugegebenermaßen immer noch nicht so recht weiß, was ich in fhem mit mqtt und den ganzen unterschiedlichen Modulen tue: Was mache ich falsch bzw. wie bekomme ich ein Device, dass als Reading den Energieverbrauch enthält?
Kleine OT-Anekdote: Sehe gerade, dass Jesús Jiménez, der die Software vor 7 Jahren geforked hat, als Standort Esporles auf Mallorca hat. Das ist das Nachbardorf von uns! Die Welt ist ein Taschentuch, wie der Spanier sagt...
Danke & Grüße
Martin
Evt. nicht mitbekommen das es angelegt wurde und du siehst es, warum auch immer, nur nicht im Raum MQTT2_DEVICE ?
Gibt list MQTT2_mosq_8U9mZRcm_NmQAZK_rK
was zurück ?
Ein Device vom Type autocreate existiert und in dem Attribut ignoreTypes ist nicht MQTT2.* eingetragen ?
Das scheint intern mosquitto-pub zu verwenden. Damit funktioniert autocreate nur, wenn man eine ClientID vergibt.
List findet das Device nicht (das BTW bei jedem Start von cm160 anders heisst). Autocreate existiert, keine ignores. Bei verbose 5 steht im Log:
2023.07.02 17:12:52 4: Connection accepted from m2s_127.0.0.1_58752
2023.07.02 17:12:52 5: in@127.0.0.1:58752 CONNECT: (16)#(0)(4)MQTT(4)(2)(0)(5)(0)(23)mosq/8U9mZRcm[NmQAZK@rK
2023.07.02 17:12:52 4: m2s_127.0.0.1_58752 cid:mosq/8U9mZRcm[NmQAZK@rK CONNECT V:4 keepAlive:5
2023.07.02 17:12:52 5: out@127.0.0.1:58752 CONNACK: (2)(0)(0)
2023.07.02 17:12:52 5: in@127.0.0.1:58752 PUBLISH: 0(20)(0)(8)eagleowl547.400000
2023.07.02 17:12:52 4: m2s_127.0.0.1_58752 mosq/8U9mZRcm[NmQAZK@rK PUBLISH eagleowl:547.400000
2023.07.02 17:12:52 5: m2s: dispatch autocreate=simple\000mosq_8U9mZRcm_NmQAZK_rK\000eagleowl\000547.400000
2023.07.02 17:12:52 5: in@127.0.0.1:58752 DISCONNECT: (224)(0)
2023.07.02 17:12:52 4: m2s_127.0.0.1_58752 mosq/8U9mZRcm[NmQAZK@rK DISCONNECT
Wie/wo muss die ClientID vergeben werden?
Zitat von: dadoc am 02 Juli 2023, 16:40:09Die Config von eagleowl sieht so aus:
# MQTT broker connection information for publishing values as a MQTT topic
mqtt_host="127.0.0.1"
mqtt_port=1883
mqtt_topic="eagleowl"
Da muss es irgendwie hin...
(Doku wälzen...)
Zitat von: Beta-User am 02 Juli 2023, 18:31:10Da muss es irgendwie hin...
(Doku wälzen...)
Ich würde ja gern wälzen, aber die Doku auf https://github.com/jesjimher/eagle-owl ist sehr übersichtlich.
Etwas wie ClientID="190162" einfach in die Conf einzufügen geht erwartungsgemäß nicht bzw. dann wird garnichts mehr an fhem geschickt (obwohl auf der Konsole die Werte weiter angezeigt werden, d.h. das Programm läuft.)
Ich würde ja mit Grausen vermuten, dass man die ClientID irgendwo im Quelltext einbauen muss, damit die korrekt übermittelt wird?
Kann ich denn das Device nicht manuell in fhem anlegen?
ZitatKann ich denn das Device nicht manuell in fhem anlegen?
Versuch mal:
attr <deindevicename> readingList
eagleowl:.* watt
Done, aber ohne erkennbaren Effekt. Zur Sicherheit, dass ich nichts falsch verstanden habe, das list:
Internals:
CID eagleowl
DEF eagleowl
FUUID 64a18050-f33f-04c7-dcdb-2bbc7bbbf9bb9fda
IODev m2s
NAME owlmqtt
NR 364
STATE ???
TYPE MQTT2_DEVICE
eventCount 1
OLDREADINGS:
READINGS:
hmccu:
Attributes:
autocreate 1
icon mqtt_bridge_2
model MQTT2_CLIENT_general_bridge
readingList eagleowl:.* watt
room Energie,mqtt
setList clear_all:noArg {fhem("deleteattr $NAME readingList; deletereading -q $NAME (?!associatedWith|IODev).*");return undef}
setStateList on off
War auch nur so ein Gedanke, hab gedacht das würde klappen.
Bin genauso nass wie du, ich wüsste nicht wie/wo man das "[-i client-id]" einbaut, wenn ich mich dazu einlese.
Es geht auf jeden Fall auch ohne CID, denk ich, sonst käm ja nix an, aber wie der entsprechende ReadingList-Eintrag auszusehen hat ¯\_(ツ)_/¯
Ich habe erst Folgendes definiert:
define m2s MQTT2_SERVER 1883 global
define owl MQTT2_DEVICE
attr owl readingList eagleowl:.* watt
und dann Folgendes abgesetzt:
mosquitto_pub -t eagleowl -m 547.400000
Ich bekam Folgendes an Reading:
2023-07-02 21:10:53 watt 547.400000
Danke! So hatte ich es eigentlich ja auch, aber ich habe in fhem jetzt mal gelöscht + neu angelegt. Interessanterweise ergab Dein mosquitto_pub-Befehl im Reading nicht 547.00 Watt, sondern
watt 499.100000 2023-07-02 21:31:52
Beim zweiten Mal waren es dann 547.
EDIT: Aber wie kriege ioch das jetzt hin, dass es kontinuierlich die aktuellen Werte ins Reading schreibt?
Jetzt kommen anscheinend aktuelle Werte herein. Klasse, vielen Dank.
Ich werde das jetzt ein Weilchen beobachten und dann versuchen, das im Wiki zu dokumentieren, das es anscheinend neben mir noch eine ganze Reihe (https://forum.fhem.de/index.php?topic=15993.150) anderer verlorener Seelen gibt, die nach neuen Kernel-Treibern gieren, um ihre Eulen wieder nutzen zu können...
Zitat von: dadoc am 02 Juli 2023, 21:38:17Ich werde das jetzt ein Weilchen beobachten und dann versuchen, das im Wiki zu dokumentieren, das es anscheinend neben mir noch eine ganze Reihe (https://forum.fhem.de/index.php?topic=15993.150) anderer verlorener Seelen gibt, die nach neuen Kernel-Treibern gieren, um ihre Eulen wieder nutzen zu können...
Scheint stabil zu laufen. Ich habe das jetzt erstmal "ne Nummer kleiner" als Wiki-Eintrag hier (https://forum.fhem.de/index.php?topic=134303.0) zusammengefasst.