NEWS
[Aufruf] Adapter: M-Bus
-
Hi All,
gemeinsam mit Bluefox habe ich einen Adapter zum Auslesen von M-Bus Geräten (Stromzähler, Wasserzäher und sowas) geschrieben.
Der Adapter unterstützt Serielle M-Bus-Master und TCP-M-Bus-Master/Gateways (USB Sticks wo die Geräte dann angeschlossen sind).
In der Konfiguration werden die Kommunikationseinstellungen und die abzufragenden Geräte konfiguriert. Hierbei werden "Primary-IDs" (1..250), aber auch sog. "Secondary-IDs" (16-Stellige Alphanumerische ID) unterstützt. Ein Secondary Scan kommt noch dazu.
Das Abfrageintervall kann pro Gerät konfiguriert werden (in Sekunden). Bitte hier beachten wie die Geräte mit Strom versorgt werden - bei Batteriebetrieb ggf. nicht zu oft abgfragen.
Die Daten werden dann als Objekte angelegt, z.B. für einen sehr einfachen Wasserzähler:
und im konfigurierten Abstand aktualisiert.
Jetzt bin ich gespannt ob jemand MBus im Einsatz hat und mittesten kann.
Installation heute per URL https://github.com/Apollon77/ioBroker.mbus, ab morgen denke ich im Latest Repository
Ingo
-
Hallo Ingo,
ich probier das aus.
Bekanntlich möchte ich jetzt meinen Wasserzähler auslesen (Stromzähler hab ich ja dank deinem Adapter schon hinbekommen).
Ich würde mir auch einen neuen installieren um dies zukunftssicher (ohne Wasserwerke) darstellen zu können.
Man weiß ja nie, wann die wieder einen tauschen.
Frage:
Welchen Wasserzähler würdest du empfehlen, damit dieser dann mit dem Adapter funktioniert?
Hatte diesen eben per google gefunden:
https://www.energie-zaehler.com/epages/ … EAX-R12G34
Passt der?
Und wie wird dieser dann angeschlossen?
Du schreibst:
"Der Adapter unterstützt Serielle M-Bus-Master und TCP-M-Bus-Master/Gateways (USB Sticks wo die Geräte dann angeschlossen sind)."
Bitte kurze Rückinfo.
Dann kann ich mit dem Test anfangen.
mfg
Dieter
-
Welchen Wasserzähler würdest du empfehlen, damit dieser dann mit dem Adapter funktioniert?
Hatte diesen eben per google gefunden:
https://www.energie-zaehler.com/epages/ … EAX-R12G34
Passt der? `
Ich denke ja, laut Daten ist es "Wired M-Bus".
ne Empfehlung hab ich nicht weil ich ehrlich gesagt solche Geräte nicht im EInsatz habe. Bluefx hat für die Entwicklung und tests was bestellt.
https://www.energie-zaehler.com/epages/ … cale=de_DE
https://m.de.aliexpress.com/item/327554 ... wer-supply
Und wie wird dieser dann angeschlossen?
Du schreibst:
"Der Adapter unterstützt Serielle M-Bus-Master und TCP-M-Bus-Master/Gateways (USB Sticks wo die Geräte dann angeschlossen sind)." `
Der Zähler hat ein Kabel dran. Das sind zwei Drähte. die schliesst Du an einen USB-MBus Master (also ein Kleines gerät was Du per USB an deinen Rechner anschliesst so ähnlich wie mit dem IR Lesekopf) an. Kann man auf der bei Dir verlinkten Seite schön sehen: https://www.energie-zaehler.com/epages/ … s/MR003USB
Man muss aber bei weitem keine 200 EUR ausgeben :-))
-
Also mal zusammenfassend für mich:
Wasserzähler wie oben von bluefox benutzt.
Adapter von aliexpress:
https://de.aliexpress.com/item/Freeship … autifyAB=0
Dann usb an einen Raspi
Raspi als slave wie bei smartmeter
Instanz installiert.
Fertig.
Richtig soweit?
mfg
Dieter
-
Wollte den Adapter installieren.
ging nicht; Error 1
Anbei log:
Habe iobroker auf win7.
Hängt es damit zusammen?
mfg
Dieter
-
Du musst bei Windows die build-tools installieren. Braucht man für viele Nodejs-Modukle sobald die nativen code kompilieren.
https://github.com/felixrieseberg/windows-build-tools
Die installieren dann python und alles nötige. Danach nochmal versuchen.
Am Windows build hab ich laaaange rumgemacht
-
Also mal zusammenfassend für mich:
Wasserzähler wie oben von bluefox benutzt.
Adapter von aliexpress:
https://de.aliexpress.com/item/Freeship … autifyAB=0
Dann usb an einen Raspi
Raspi als slave wie bei smartmeter
Instanz installiert.
Fertig.
Richtig soweit? `
Jöpp. Und wen es in der nächste ist kann es auch der gleiche Raspi-Slave wie smartmeter sein! -
Du musst bei Windows die build-tools installieren. Braucht man für viele Nodejs-Modukle sobald die nativen code kompilieren.
https://github.com/felixrieseberg/windows-build-tools
Die installieren dann python und alles nötige. Danach nochmal versuchen.
Am Windows build hab ich laaaange rumgemacht
`
Ich dachte eigentlich das hätte ich schon einmal gemacht; komisch?
Werde das heute Abend nochmal probieren.
mfg
-
Bluefx hat für die Entwicklung und tests was bestellt.
Sag mal, braucht bluefox die Teile noch?
Könnte Sie ihm doch abkaufen; ansonsten liegen diese doch nur rum.
mfg
Dieter
-
Vorne weg, super Sache mit dem M-Bus Adapter für ioBroker. Wenn ich daran denke, was ich für ein Geld dafür bei der Firma Relay und Wachendorff gelassen habe, um meine M-Bus Wäremengenzähler der Fa. Zelsius auslesen zu können. War eine echt teure Geschichte und das Gateway der Fa. Wachendorff habe ich bis heute nicht dazu bekommen über TCP/IP mit mir zu kommunizieren.
Ich hoffe die User hier wissen eure Arbeit zu würdigen.
Ich verstehe allerdings nicht, warum man sich einen Wasserzähler mit einer M-Bus Schnittstelle einbauen soll. Man kann doch nur den Zählerstand auslesen. Die Wassertemperatur wäre noch nett gewesen und dann hätte es für mich auch wieder Sinn gemacht. Deshalb habe ich bei mir nur Kalt- und Warmwasserzähler mit einer Impulsschnittstelle einbauen lassen.
Übrigens die Komponeten habe ich alle im Energiezähler-Shop gekauft. Die Mitarbeiter dort sind super nett und fachkompetent. Die Ware wurde sehr schnell ausgeliefert.
-
Ich persönlich lese auch noch den Wasserzähler per Impulsschnittstelle aus, was aber bedeutet das ich regelmäßig checke ob alles passt. Hier und da verliert er mal ein paar Impulse (1-5 im Monat, also an sich egal), aber Impulse sind halt immer "Zählen".
Ein Zählerstand ist ein Zählerstand - immer der gesamte Wert. Ich brauche keine weitere "Logik" (Arduino, Rechner, andere Hwrdware die ausfallen kann und Strom braucht damit gezählt wird) die Impule zählt die ich wieder absichern muss.
Wenn der Strom ausfällt und ich einen Tag nicht lesen kann bekomme ich danach einfach den neuen Zählerstand ohne das ich was tun muss.
Meine meinung zu "Impulse" vs "Zählerstände"
Daher lese ich auch den Stromzähler nicht per Impulsen sondern per IR-Kopf und Datenprotokoll aus :-)…und überlege auch ob ich den Wasserzähler umbaue
-
Vorne weg, super Sache mit dem M-Bus Adapter für ioBroker. Wenn ich daran denke, was ich für ein Geld dafür bei der Firma Relay und Wachendorff gelassen habe, um meine M-Bus Wäremengenzähler der Fa. Zelsius auslesen zu können. War eine echt teure Geschichte und das Gateway der Fa. Wachendorff habe ich bis heute nicht dazu bekommen über TCP/IP mit mir zu kommunizieren. `
Na dann verkauf es wieder und utze den Adapter
so verdient man mit ioBroker Geld, juhhuuhhh
-
Na dann verkauf es wieder.. `
In der Tat, dies werde ich wohl machen. Mit dem Wachendorff Gateway lassen sich eh nur die in der Kompatibilitätsliste aufgeführten Feldgeräte auslesen. Ein Wasserzähler war nicht dabei. War damals auch wieder ein Grund sich gegen einen Wasserzähler mit M-Bus Schnittstelle zu entscheiden.Die Impulszähler funktionieren bisher soweit fehlerfrei. Aber Du hast absolut recht mit deiner Aussage. Die Impulszählung funktioniert nicht immer zuverlässig und sie brauchen ab und an etwas Betreuung. Mit einer M-Bus Schnittstelle hat man dieses Problem nicht mehr.
Die libmbus Libary von rscada hatte ich mir im letzten Jahr auf dem Raspi installiert. Alle an der M-Bus Schnittstelle angeschlossenen Zähler (Wärmemengen-/Wechsel- und Drehstromzähler) lassen sich problemlos auslesen und in Node-Red (Standalone) weiterverarbeiten.
Und jetzt noch euer Adapter für den Normalanwender, super Arbeit von euch.
Garf
-
Du musst bei Windows die build-tools installieren. Braucht man für viele Nodejs-Modukle sobald die nativen code kompilieren.
https://github.com/felixrieseberg/windows-build-tools
Die installieren dann python und alles nötige. Danach nochmal versuchen.
Am Windows build hab ich laaaange rumgemacht
`
Ich dachte eigentlich das hätte ich schon einmal gemacht; komisch?
Werde das heute Abend nochmal probieren.
mfg `
So, habe die windows-build-tools als admin installiert. Ist auch alles ordnungsgemäß durchgelaufen.
Ich bekomme trotzdem noch ne Fehlermeldung.
Folgende:
Was muss ich jetzt tun?
mfg
-
Was muss ich jetzt tun? `
bitte den code als Text in code-tags posten, dann kann ich da etwas herauskopieren.Gruß
Rainer
-
iobroker 2018-03-12 19:08:23.587 info npm ERR! code 1 iobroker 2018-03-12 19:08:23.587 info npm ERR! Please include the following file with any support request:npm ERR! C:\ioBroker\node_modules\iobroker\npm-debug.log iobroker 2018-03-12 19:08:23.586 info iobroker 2018-03-12 19:08:23.525 info iobroker 2018-03-12 19:08:23.525 info npm ERR! There is likely additional logging output above. iobroker 2018-03-12 19:08:23.525 info npm ERR! npm owner ls node-mbus iobroker 2018-03-12 19:08:23.525 info npm bugs node-mbusnpm ERR! Or if that isn't available, you can get their info via: iobroker 2018-03-12 19:08:23.524 info npm ERR! iobroker 2018-03-12 19:08:23.524 info npm ERR! You can get information on how to open an issue for this project with: iobroker 2018-03-12 19:08:23.524 info npm ERR! node-gyp rebuild iobroker 2018-03-12 19:08:23.524 info npm ERR! Tell the author that this fails on your system: iobroker 2018-03-12 19:08:23.524 info npm ERR! not with npm itself. iobroker 2018-03-12 19:08:23.524 info npm ERR! If you do, this is most likely a problem with the node-mbus package, iobroker 2018-03-12 19:08:23.524 info Failed at the node-mbus@0.2.0 install script 'node-gyp rebuild'.npm ERR! Make sure you have the latest version of node.js and npm installed. iobroker 2018-03-12 19:08:23.524 info npm ERR! iobroker 2018-03-12 19:08:23.524 info npm ERR! iobroker 2018-03-12 19:08:23.524 info npm ERR! node-mbus@0.2.0 install: `node-gyp rebuild`npm ERR! Exit status 1 iobroker 2018-03-12 19:08:23.522 info iobroker 2018-03-12 19:08:23.522 info npm ERR! code ELIFECYCLE iobroker 2018-03-12 19:08:23.522 info npm ERR! npm v3.10.8 iobroker 2018-03-12 19:08:23.522 info npm ERR! node v6.9.0 iobroker 2018-03-12 19:08:23.522 info ERR! Windows_NT 6.1.7601npm ERR! argv "C:\\Program Files (x86)\\nodejs\\node.exe" "C:\\Program Files (x86)\\nodejs\\node_modules\\npm\\bin\\npm-cli.js" "install" "https://github.com/Apollon77/ioBrok iobroker 2018-03-12 19:08:23.521 info npm iobroker 2018-03-12 19:08:20.864 info iobroker 2018-03-12 19:08:20.864 info gyp ERR! node-gyp -v v3.4.0gyp ERR! not ok iobroker 2018-03-12 19:08:20.864 info iobroker 2018-03-12 19:08:20.864 info gyp ERR! node -v v6.9.0 iobroker 2018-03-12 19:08:20.864 info gyp ERR! cwd C:\ioBroker\node_modules\iobroker.mbus\node_modules\node-mbus iobroker 2018-03-12 19:08:20.864 info gyp ERR! command "C:\\Program Files (x86)\\nodejs\\node.exe" "C:\\Program Files (x86)\\nodejs\\node_modules\\npm\\node_modules\\node-gyp\\bin\\node-gyp.js" "rebuild" iobroker 2018-03-12 19:08:20.864 info gyp ERR! System Windows_NT 6.1.7601 iobroker 2018-03-12 19:08:20.864 info gyp ERR! stack at FSReqWrap.oncomplete (fs.js:123:15) iobroker 2018-03-12 19:08:20.864 info gyp ERR! stack at C:\Program Files (x86)\nodejs\node_modules\npm\node_modules\node-gyp\lib\configure.js:404:11 iobroker 2018-03-12 19:08:20.864 info gyp ERR! stack Error: Can't find Python executable "python", you can set the PYTHON env variable.gyp ERR! stack at failNoPython (C:\Program Files (x86)\nodejs\node_modules\npm\node_modules\node-g iobroker 2018-03-12 19:08:20.863 info ERR! configure error iobroker 2018-03-12 19:08:20.862 info gyp iobroker 2018-03-12 19:08:06.058 info npm install https://github.com/Apollon77/ioBroker.mbus/tarball/master --production --prefix "C:/ioBroker" (System call) iobroker 2018-03-12 19:08:05.915 info install https://github.com/Apollon77/ioBroker.mbus/tarball/master iobroker 2018-03-12 19:08:05.241 info url "https://github.com/Apollon77/ioBroker.mbus"
so richtig ?
-
wenn ich das ganze direkt in cmd eingebe, dann kommt folgendes:
-
so richtig ? `
Ja, da schon, aber
@bahnuhr:dann kommt folgendes: `
hier nichtZum ersten Code:
@bahnuhr:ERR! command "C:\\Program Files (x86)\\nodejs\\node.exe" "C:\\Program Files (x86)\\nodejs\\node_modules\\npm\\node_modules\\node-gyp\\bin\\node-gyp.js" "rebuild" ```` `
nicht dass ich dir helfen kann, aber vielleicht für @apollon77:
das sieht aus, als ob die Backslashes hätten escaped werden sollen und statt dessen doppelt sind.
Gruß
Rainer
-
Also an sich sollten die build tools Dir python installieren. Er meckert das das immer noch fehlt. hast Due die Buildtools als Admin installiert?
Das andere meckert weil Du kein "git" hast. Installier mal git für Windows
Ingo F
-
So noch ne Info von mir.
Habe ja im Keller einen Raspi der als slave mit iobroker verbunden ist.
Dort läuft der smartmeter
Jetzt dachte ich, ich stelle den admin auf den slave und installieren die mbus Instanz dort.
Im log erscheint dann:
iobroker 2018-03-12 21:14:01.113 info exit 0 iobroker 2018-03-12 21:13:14.894 info No prebuilt binaries found (target=6.13.0 runtime=node arch=arm platform=linux) iobroker 2018-03-12 21:13:14.891 info WARN install iobroker 2018-03-12 21:13:14.889 info prebuild-install iobroker 2018-03-12 21:13:14.867 info 404 https://github.com/node-serialport/node-serialport/releases/download/v6.1.1/serialport-v6.1.1-node-v48-linux-arm.tar.gz iobroker 2018-03-12 21:13:14.863 info http iobroker 2018-03-12 21:13:14.860 info prebuild-install iobroker 2018-03-12 21:13:14.256 info prebuild-install http request GET https://github.com/node-serialport/node-serialport/releases/download/v6.1.1/serialport-v6.1.1-node-v48-linux-arm.tar.gz iobroker 2018-03-12 21:13:14.256 info prebuild-install info looking for cached prebuild @ /root/.npm/_prebuilds/https-github.com-node-serialport-node-serialport-releases-download-v6.1.1-serialport-v6.1.1-node-v48-linux-arm.tar.gz iobroker 2018-03-12 21:13:14.256 info info begin Prebuild-install version 2.5.1prebuild-install info looking for local prebuild @ prebuilds/serialport-v6.1.1-node-v48-linux-arm.tar.gz iobroker 2018-03-12 21:13:14.203 info prebuild-install iobroker 2018-03-12 21:12:23.622 info npm install https://github.com/Apollon77/ioBroker.mbus/tarball/master --production --prefix "/opt/iobroker" (System call) iobroker 2018-03-12 21:12:23.252 info install https://github.com/Apollon77/ioBroker.mbus/tarball/master iobroker 2018-03-12 21:12:22.061 info url "https://github.com/Apollon77/ioBroker.mbus"
Sieht schon besser aus, aber irgendwas findet er doch nicht, oder ?
404 https://github.com/node-serialport/node-serialpo…............
mfg
Dieter