Fröling Heizungskessel P4, S4: Werte und Fehlermeldung auslesen

Begonnen von SvenJust, 23 Januar 2017, 16:06:06

Vorheriges Thema - Nächstes Thema

SvenJust

In diesem Thread wird die Übertragung von Werten und Fehlermeldungen aus der Fröling Heizungskesselsteuerung Lambdatronic S 3200 beschrieben. Die Steuerung wird bei Fröling Kesseln P4 und S4 eingesetzt.

In dem Vorgänger-Thread https://forum.fhem.de/index.php/topic,30088.0.html fehlte die Übertragung der Fehlermeldungen.


Übersicht Architektur
Im Folgenden wird von zwei Rechnern ausgegangen, einen für das Auslesen der Heizung und einen fhem Rechner mit dem MQTT-Broker.

Gerät:      Frölingkessel <-- RS232 --> Heizungsrechner <-- (W)-LAN --> fhem Server
Beispiel IP:                            192.168.20.228                  192.168.20.240
Programme:                              /usr/local/bin/p4               fhem
                                        p4tomqtt.pl                     MQTT Broker
                                                                        MQTT-Devices
                                                                        Notifiy


Der Heizungsrechner und der fhem-Rechner können auch ein Rechner sein.


Vorbereitung
Für das Auslesen der Werte aus dem Frölingkessel wird das Kommandozeilentool p4 benötigt. Dieses muss auf dem Heizungsrechner installiert werden. Die Anleitung und den Code gibt es im Holzheizer-Forum. (Erläuterung im Holzheizer-Forum https://www.holzheizer-forum.de/index.php?thread/50090-announce-p4d-visualisierung-und-einstellung-der-s-3200-via-com1/&pageNo=1, Sourcen: https://github.com/horchi/linux-p4d/)

Auf dem fhem-Server wird ein MQTT-Broker benötigt. Ich verwende mosquitto. Die aktuelle Version wird mit dem Folgenden installiert.
sudo apt-get update
sudo apt-get upgrade

# MQTT Broker auf dem Repo installieren:
wget http://repo.mosquitto.org/debian/mosquitto-repo.gpg.key
sudo apt-key add mosquitto-repo.gpg.key
cd /etc/apt/sources.list.d/
sudo wget http://repo.mosquitto.org/debian/mosquitto-wheezy.list
# oder für jessie
sudo wget http://repo.mosquitto.org/debian/mosquitto-jessie.list
sudo apt-get update
sudo apt-get install mosquitto mosquitto-clients



Auf dem fhem-Server UND dem Heizungsrechner werden zwei Perl-Libs benötigt. Diese bitte jeweils mit
sudo cpan -i Net:MQTT:Simple
sudo cpan -i Net:MQTT:Constants

installieren.


Installation Skript auf dem Heizungsrechner
Das unten anhängende Skript bitte unter /usr/local/bin/p4tomqtt.pl auf den Heizungsrechner kopieren. Anschließend bitte die Rechte auf ausführbar setzen chmod 777 /usr/local/bin/p4tomqtt.pl. In dem Skript muss der USB-Adapter und die IP-Addresse des MQTT-Servers eingetragen werden.
####### In der folgenden Zeile den USB-Adapter eintragen
my $usbdev="/dev/serial/by-id/usb-Prolific_Technology_Inc._USB-Serial_Controller_D-if00-port0";
####### In der folgenden Zeile die IP-Adresse des MQTT Servers eintragen
my $mqttServerIP = "192.168.20.240";


Bitte das Skript mit dem Aufruf von /usr/local/bin/p4tomqtt.pl testen. Die Ausgabe sollte mit # /usr/local/bin/p4tomqtt.pl                 
DEBUG: state
DEBUG: the result is:
Version: 50.04.05.12
Time: Monday, 23. Jan. 2017 14:22:33
2 - Automatik
13 - Abstellen Warten2
DEBUG: returncode was: 0
SWversion: 50.04.05.12, Zeit: Monday, 23. Jan. 2017 14:22:33, Status: 13 - Abstellen Warten2, Modus: 2 - Automatik

DEBUG: Type: ST, ID: 0, Name: Softwareversion, divider: NODEF, unit: NODEF
Topic: d8/p4/ST000-Softwareversion, value: 50.04.05.12

DEBUG: Type: ST, ID: 1, Name: Datum Uhrzeit der Heizung, divider: NODEF, unit: NODEF
Topic: d8/p4/ST001-DatumUhrzeitderHeizung, value: Monday, 23. Jan. 2017 14:22:33
beginnen. Es werden Werte vom Kessel ausgelesen. Abhängig von der Software des Kessel können unterschiedliche Werte ausgelesen werden.

Beginnt die Ausgabe mit DEBUG: state
DEBUG: the result is:
Error: Opening '/dev/serial/by-id/usb-Prolific_Technology_Inc._USB-Serial_Controller_D-if00-port0' failed, errno was (2) 'No such file or directory'
so kann das USB Device nicht geöffnet werden.


Testen der Übertragung auf dem fhem-Rechner
Auf dem fhem-Rechner eine Console öffnen und mosquitto_sub -h localhost -t "d8/p4/+" aufrufen. Danach auf dem Heizungsrechner das Skript starten. Die Ausgabe sollte ähnlich aussehen:
mosquitto_sub -h localhost -t "d8/p4/+" 
ST000-Softwareversion|50.04.05.12
ST001-DatumUhrzeitderHeizung|Monday, 23. Jan. 2017 15:09:52
ST002-Heizungsstatus|3 - Heizen
ST003-Betriebsmodus|2 - Automatik
VA000-Kesseltemperatur|70.5 °C
VA001-Abgastemperatur|164 °C
VA003-Restsauerstoffgehalt|8.19 %
VA004-Aussentemperatur|-2 °C
VA007-Saugzugdrehzahl|1396 U/min
DO010-Sonde1oeffnen|0
DO011-Sonde2oeffnen|1
DO012-Sonde3oeffnen|0
VA012-LuftgeschwindigkeitinderAnsaugoeffnung|1.65 m/s
DO015-PelletsSaugturbine|0
VA021-Vorlauf-Isttemperatur|51.5 °C
VA022-Vorlauf-Solltemperatur|52.5 °C
VA025-Vorlauf-Isttemperatur|52 °C
VA026-Vorlauf-Solltemperatur|52.5 °C
VA093-Boilertemperaturoben|58.5 °C
VA098-Betriebsstunden|16796 h
VA113-FuellstandimPelletsbehaelter|97.19 %
VA118-Puffertemperaturoben|63 °C
VA120-Puffertemperaturunten|50.5 °C
VA140-PufferpumpenAnsteuerung|55 %
VA144-BoilerpumpeAnsteuerung|0 %
VA180-BetriebsstundenZuendung|1527 h
VA213-StundenseitletzterWartung|2729 h
VA221-StundenimHeizen|11553 h
VA273-Resetierbarerkg-Zaehler:|606 kg
VA274-Resetierbarert-Zaehler:|1 t
XX001-ResetierbarerVerbrauchszaehler|1606 kg
VA279-VerbleibendeHeizstundenbiszurAscheentleerenWarnung|434 h
VA114-AnzahlderBrennerstarts|10076


Wird keine Ausgabe angezeigt, dann den Fehler suchen, evtl. ist die IP-Adresse im Skript falsch ($mqttServerIP).


Sub in 99_myUtils.pm hinzufügen
Wird die Ausgabe angezeigt, so werden im nächsten Schritt die Einstellungen in fhem gemacht.
In der fhem-Datei 99_myUtils.pm muss die folgende Sub hinzugefügt werden: sub MqttGetReadingsFromMessage($$){
   my($device, $event) = @_;
   Log 3, $device;
   Log 3, $event;
   if (substr($event, 0, 12) eq "MqttRawMsg: ") {
       my $dotrigger = 1;
       my $RawMessages = substr($event, 12);
       my $hash = $defs{$device};
       my $readingName ="";
       my $readingValue ="";
       # Log 1, "$RawMessages";
       my @msg = split("\n",$RawMessages);
       my $e;
       readingsBeginUpdate($hash);
       foreach $e (@msg){
           ($readingName,$readingValue)=split(/\|/,$e);
           # Log 1, $e;
           # Log 1, $readingName;
           # Log 1, $readingValue;
           readingsBulkUpdate($hash, $readingName, $readingValue);
       }
       readingsEndUpdate($hash, $dotrigger);
   }
}
fhem muss anschließend neu gestartet werden.


Device in fhem hinzufügen
In fhem muss die Verbindung zum MQTT-Broker mosquitto definiert werden. Dies geschieht mit:
define mqttbroker MQTT 127.0.0.1:1883 Das fhem Device mqttboker muss bei den Readings state auf opened stehen.

Dann können die zwei MQTT-Devices in fhem definiert werden:
define heating.values MQTT_DEVICE
attr heating.values autoSubscribeReadings d8/p4/+

define heating.errors MQTT_DEVICE
attr heating.errors autoSubscribeReadings d8/p4-error/+


Jetzt müssen auf dem fhem-Rechner noch zwei Notify angelegt werden, damit die Sub MqttGetReadingsFromMessage aufgerufen wird:
define nt.heating.values notify heating.values.* {MqttGetReadingsFromMessage($NAME,$EVENT)}
define nt.heating.errors notify heating.errors.* {MqttGetReadingsFromMessage($NAME,$EVENT)}


Wenn jetzt auf dem Heizungsrechner das Skript p4tomqtt.pl aufgerufen wird, sollten nach kurzer Zeit die Readings in den beiden Devices heating.values und heating.errors gefüllt werden.


Cronjob aus dem Heizungsrechner
Damit das Skript regelmäßig aufgerufen wird, sollte auf dem Heizungsrechner ein Cronjob /etc/cron.d/p4tomqtt angelegt werden:
PATH=/sbin:/usr/sbin:/bin:/usr/bin

# start p4tomqtt every two minutes
*/2 * * * * root /usr/local/bin/p4tomqtt.pl >> /dev/null 2>&1


/edit: notify nt.heating.errors korrigiert.
FTUI, Raspberry PI/SSD, CUL CC1101, HMLAN, 10x HM-LC-Bl1PBU-FM, HM-LC-Sw4-WM (KWL Pluggit P300), HM-WDS30-OT2-SM (Sonnensensor), HM-Sec-SCo, LW-12 Wifi LED, CUL Selbstbau nanoCUL 433 (IT), Arduino (S0-Stromverbrauch), OW DS2480 (OWX_ASYNC) 8x DS18B20, MQTT (Fröling P4), MYSENSORS (Roto Rollläden)

Tropaion

Hi

ich habe das Script installiert und im Grunde funktioniert es auch, aber zwei Fragen habe ich.

Bei mir kommt die Fehlermeldung im Script, wieso?
ZitatDEBUG: Type: XX, ID: 1, Name:
Resetierbarer Verbrauchszähler, divider: , unit:
kg
DEBUG: getVA
DEBUG: the result is: Getting value failed, error -1992
DEBUG: returncode was: 0
DEBUG: getVA
DEBUG: the result is: Getting value failed, error -1992
DEBUG: returncode was: 0
Argument "error" isn't numeric in multiplication (*) at p4tomqtt.pl line 244.
Argument "error" isn't numeric in addition (+) at p4tomqtt.pl line 244.
Topic: d8/p4/XX001-ResetierbarerVerbrauchszaehler,
value: 0 kg

Und, ist es normal das die Error-Meldung in einer "Wurst" kommen?
Siehe Bild.

Danke und Mfg,
Tropaion

SvenJust

Hallo Tropaion!

Zitat von: Tropaion am 24 Januar 2017, 09:28:15
Bei mir kommt die Fehlermeldung im Script, wieso?

Du nutzt eine ältere Softwareversion für den Kessel, diese kennt die Werte für die Pelletverbrauch nicht. Am einfachsten ist es wenn Du im Skript die Zeile 395 löschst:
MakeMqttMessage("XX","1","Resetierbarer Verbrauchszähler","","kg");
Ebenso sollte die Zeilen 393 und 394 "Resetierbarer kg-Zähler" und "Resetierbarer t-Zähler:" keine Werte liefern, die kannst Du auch löschen.

Es können in dem Bereich auch beliebige andere Werte vom Kessel abgefragt werden, je nach Konfiguration des Heizungskessels und der Heizungsanlage. Ich frage mit dem Skript eine Anlage mit einem Puffer, zwei Heiz- und Warmwasserkreisläufen, sowie drei Ansaugsonden für die Pellets ab. Eventuell ist Deine Anlage anders aufgebaut.
MakeMqttMessage(<type>,<id>,<name>,<divider>,<unit>);
Die Parameter für die Abfrage der Werte <type>, <id> können aus dem Webinterface, Setup, Aufzeichnung abgelesen werden, siehe beiliegendes Bild. Der Wert für Name kann frei vergeben werden. <divider> wird oft bei Temperaturen benötigt, um 0,5° Schritte zu kodieren oder auch zehntel Prozent wie bei dem Restsauerstoffgehalt. Der Wert für <unit> kann wiederrum aus besagten Webinterface abgelesen werden.

Zitat von: Tropaion am 24 Januar 2017, 09:28:15
Und, ist es normal das die Error-Meldung in einer "Wurst" kommen?
Die "Wurst" ;D ist der String, der vom Heizungsrechner in einem Rutsch zum fhem-Rechner übertragen wird. Bei Dir ist das Notify nt.heating.errors noch falsch (war ein Fehler in meinem Post, ist dort jetzt korrigiert). define nt.heating.errors notify heating.errors.* {MqttGetReadingsFromMessage($NAME,$EVENT)}

Nach der Korrektur des notifys sollte die "Wurst" auf einzelne Readings aufgeteilt sein.

VG Sven
FTUI, Raspberry PI/SSD, CUL CC1101, HMLAN, 10x HM-LC-Bl1PBU-FM, HM-LC-Sw4-WM (KWL Pluggit P300), HM-WDS30-OT2-SM (Sonnensensor), HM-Sec-SCo, LW-12 Wifi LED, CUL Selbstbau nanoCUL 433 (IT), Arduino (S0-Stromverbrauch), OW DS2480 (OWX_ASYNC) 8x DS18B20, MQTT (Fröling P4), MYSENSORS (Roto Rollläden)

Tropaion

Die Values bekomme ich eh einzeln Aufgelistet, ohne Notify, nur die Fehlermeldungen nicht.
Das Notify funktioniert auch nicht.

Mfg,
Tropaion

SvenJust

Zitat von: Tropaion am 24 Januar 2017, 11:15:23
Die Values bekomme ich eh einzeln Aufgelistet, ohne Notify, nur die Fehlermeldungen nicht.
Nein, die Readings sind alt, sie haben alle einen Zeitstempel von 9:14, nur das Reading MqttRawMsg hat einen aktuellen Zeitstempel 11:31. Dieses Reading wird auch nicht auf die einzelnen Readings aufgeteilt.

Zitat von: Tropaion am 24 Januar 2017, 11:15:23
Das Notify funktioniert auch nicht.
Hast Du die Sub MqttGetReadingsFromMessage in 99_myUtils.pm hinzugefügt und fhem neugestartet? Wenn ja, setzte den Loglevel global auf 3 (attr global verbose 3) und rufe die Sub von Notify in fhem ( {MqttGetReadingsFromMessage("Froeling_Values","MqttRawMsg")} ) direkt auf. In der fhem Logdatei solltest Du etwas von der Sub finden (2017.01.24 11:32:06 3: MqttRawMsg: ST000-Softwareversion|50.04.05.12) Loglevel wieder zurücksetzen (attr global verbose 1) Wenn das Notify nicht aufgerufen wird, was steht im Event monitor?

VG Sven
FTUI, Raspberry PI/SSD, CUL CC1101, HMLAN, 10x HM-LC-Bl1PBU-FM, HM-LC-Sw4-WM (KWL Pluggit P300), HM-WDS30-OT2-SM (Sonnensensor), HM-Sec-SCo, LW-12 Wifi LED, CUL Selbstbau nanoCUL 433 (IT), Arduino (S0-Stromverbrauch), OW DS2480 (OWX_ASYNC) 8x DS18B20, MQTT (Fröling P4), MYSENSORS (Roto Rollläden)

Tropaion

Ok, FHEM-Neustart hat das Problem gelöst  ;).
Danke für das tolle Script!
Würde es dich stören wenn ich die Anleitung ins Wiki schreibe?

Eine Frage hätte ich noch:
Weißt du, wie man das in FHEM einbindet, das man eine Liste der z.B.: 10 letzten Fehler hat?

Danke und Mfg,
Tropaion

SvenJust

Zitat von: Tropaion am 24 Januar 2017, 13:27:35
Ok, FHEM-Neustart hat das Problem gelöst  ;).
Danke für das tolle Script!
Schön, dass es bei Dir auch läuft. Bei mir läuft es seit mehreren Jahren fehlerfrei. Die Wartungstechniker von Fröling sind jedesmal äußerst überrascht, wenn ich Ihnen die detaillierten Temperaturverläufe der Heiz- und Warmwasserkreise zeigen kann. Klemmende Mischer und ähnliches konnte ich mit den Daten immer sicher diagnostizieren. Auch die Fehlermeldungen des vergangenen Wartungszeitraumes habe ich bei den Wartungsterminen parat. :)

Zitat von: Tropaion am 24 Januar 2017, 13:27:35
Würde es dich stören wenn ich die Anleitung ins Wiki schreibe?
Darfst Du gerne machen...

Zitat von: Tropaion am 24 Januar 2017, 13:27:35
Weißt du, wie man das in FHEM einbindet, das man eine Liste der z.B.: 10 letzten Fehler hat?
Dafür habe ich keine richtige Vorlage, ich liste die letzten Meldungen immer in FTUI auf. Da die meisten Fehler aber aus drei Meldungen (gekommen, gegangen, quittiert) bestehen, müsste man ggfs  die Meldungen mit ein wenig Logik zusammenfassen. Mir reicht es aber in der einfachen Art, siehe auch Bild.
FTUI, Raspberry PI/SSD, CUL CC1101, HMLAN, 10x HM-LC-Bl1PBU-FM, HM-LC-Sw4-WM (KWL Pluggit P300), HM-WDS30-OT2-SM (Sonnensensor), HM-Sec-SCo, LW-12 Wifi LED, CUL Selbstbau nanoCUL 433 (IT), Arduino (S0-Stromverbrauch), OW DS2480 (OWX_ASYNC) 8x DS18B20, MQTT (Fröling P4), MYSENSORS (Roto Rollläden)

Tropaion

#7
ZitatDarfst Du gerne machen...
Ok :)

ZitatDafür habe ich keine richtige Vorlage, ich liste die letzten Meldungen immer in FTUI auf. Da die meisten Fehler aber aus drei Meldungen (gekommen, gegangen, quittiert) bestehen, müsste man ggfs  die Meldungen mit ein wenig Logik zusammenfassen. Mir reicht es aber in der einfachen Art, siehe auch Bild.

Ist es irgendwie möglich das ich 10x defines habe wo jeweils immer der letzte Fehler drinnen steht?
Also z.B
Froeling_Error_1 -> letzter Fehler
Froeling_Error_2 -> vorletzter Fehler
....

Geht das irgendwie?
Dann könnte ich die Fehler schön in die Visu einbauen.

EDIT: Ich hatte gerade eine Idee wie es gehen könnte.
Ich habe gerade bemerkt, das die Fehler eh nummeriert sind, das könnte hilfreich sein, werde das probieren

Danke und Mfg,
Tropaion

Tropaion

Ja, cool, es funktioniert so wie ich es wollte.
Habe es jetzt so eingestellt, das mir die letzten 6 Fehler angezeigt werden.

Mfg,
Tropaion

MeinHerzBrennt


hoppel118

#10
Hallo Leute,

ich habe einen 2017 beschafften Fröling Scheitholz-Vergaserkessel S1 20kW mit S3200 Steuerung.

Wie stehen meine Chancen das an mein FHEM angebunden zu bekommen?

Habt ihr das eigentlich alle mit einem Extra für diesen Zweck vorgesehenen Raspberry angebunden? Ich würde das am liebsten alles auf meinem Hauptserver laufen lassen. Mit seriellen Schnittstellen habe ich aber bisher noch gar keine Erfahrungen. Gibt es gute/brauchbare Module um eine serielle Schnittstelle in ein Wifi- oder Ethernet-Signal zu wandeln, um dieses dann in FHEM irgendwie direkt ansprechen zu können? Braucht man dann trotzdem den MQTT-Server? Hat hier jemand Erfahrungen damit?

Danke euch und viele Grüße Hoppel
Server: Openmediavault, XEON E3-1240L-v5, Supermicro X11SSH-CTF, 64GB ECC RAM, SSD, RAID-Z2
Homebridge | Alexa | Yowsup
Homematic | HomeConnect | MQTT | Philips Hue | Sonos | Unifi Network & Protect | vbus | Xiaomi

SvenJust

Hallo Hoppel!
Zitat von: hoppel118 am 13 April 2020, 13:13:11
ich habe einen 2017 beschafften Fröling Scheitholz-Vergaserkessel S1 20kW mit S3200 Steuerung.

Wie stehen meine Chancen das an mein FHEM angebunden zu bekommen?
Sehr gut, die S3200 hat die passende COM Schnittstelle.

Zitat von: hoppel118 am 13 April 2020, 13:13:11
Habt ihr das eigentlich alle mit einem Extra für diesen Zweck vorgesehenen Raspberry angebunden? Ich würde das am liebsten alles auf meinem Hauptserver laufen lassen. Mit seriellen Schnittstellen habe ich aber bisher noch gar keine Erfahrungen. Gibt es gute/brauchbare Module um eine serielle Schnittstelle in ein Wifi- oder Ethernet-Signal zu wandeln, um dieses dann in FHEM irgendwie direkt ansprechen zu können? Braucht man dann trotzdem den MQTT-Server? Hat hier jemand Erfahrungen damit?
Du kannst alles auch auf Deinem Hauptserver laufen lassen, wenn eine Kabelverbindung (Seriell oder Ethernet [https://wiki.fhem.de/wiki/Serial_TTL_to_Ethernet_Module]) von der Heizung zum Hauptserver reicht. Dann kannst Du auf den Raspberry verzichten. Eine Umsetzung von Seriell auf Wifi ist auch möglich, dann hängt es aber von der Wifi Verbindung ab, ob dies stabil läuft. Den MQTT Broker benötigst Du trotzdem, um die Werte in Fhem einzulesen. Fhem enthält mittlerweile auch einen MQTT Broker, den ich nicht getestet habe, der aber prinzipiell auch funktionieren sollte.

VG Sven
FTUI, Raspberry PI/SSD, CUL CC1101, HMLAN, 10x HM-LC-Bl1PBU-FM, HM-LC-Sw4-WM (KWL Pluggit P300), HM-WDS30-OT2-SM (Sonnensensor), HM-Sec-SCo, LW-12 Wifi LED, CUL Selbstbau nanoCUL 433 (IT), Arduino (S0-Stromverbrauch), OW DS2480 (OWX_ASYNC) 8x DS18B20, MQTT (Fröling P4), MYSENSORS (Roto Rollläden)

hoppel118

#12
Moin Sven,

danke für die Rückmeldung.

Das serielle Kabel reicht leider nicht bis zu meinem Hauptserver. Mit Ethernet würde ich da aber schon klarkommen. Ich war parallel auch in horchi's Thread im Holzheizer Forum unterwegs. Ich hatte mich nun gestern Abend eigentlich dafür entschieden, das Projekt erstmal mit einem usb2serial Kabel und einem eigenen RPi umzusetzen. Beides ist bereits bestellt. Erst wenn ich die Funktionsweise dann verstanden habe, wollte ich mir anschauen, wie ich das ohne RPi hinbekomme.

Jetzt hast du mich allerdings etwas verunsichert. Eigentlich würde ich diese Lösung ohne extra RPi bevorzugen. Hm... ;)

Das folgende Gerät müsste den Informationen nach das richtige Gerät sein:

https://www.usriot.com/products/rs232-to-ethernet-converter.html

Und der FHEM MQTT Server ist hier beschrieben:

https://wiki.fhem.de/wiki/MQTT

Richtig?

Siehst du größere Schwierigkeiten auf mich zu kommen, wenn ich es direkt ohne RPi versuche? Ich behaupte, dass ich Ahnung von Linux habe und mittlerweile auch schon wirklich viel mit FHEM umgesetzt. Funktionieren die p4d Scripte, so wie sie sind mit der Lösung ohne RPi oder muss da dann irgendwas angepasst werden?

Kann ich denn im p4d Dämon irgendwo hinterlegen, dass er das Gerät nicht über ein usb2serial Interface, sondern über ein eth2serial Interface erreicht? Was müsste ich dann nachfolgend statt des usb Adapters angeben?

Zitat von: SvenJust am 23 Januar 2017, 16:06:06
In dem Skript muss der USB-Adapter und die IP-Addresse des MQTT-Servers eingetragen werden.
####### In der folgenden Zeile den USB-Adapter eintragen
my $usbdev="/dev/serial/by-id/usb-Prolific_Technology_Inc._USB-Serial_Controller_D-if00-port0";
####### In der folgenden Zeile die IP-Adresse des MQTT Servers eintragen
my $mqttServerIP = "192.168.20.240";


Amazon verzögert die Lieferung des RPi und des Kabels sowieso noch bis zum 21.04. wegen Priorisierung anderer Güter. Ich könnte noch stornieren und diese Lösung bestellen. ;)

Danke dir und Gruß Hoppel
Server: Openmediavault, XEON E3-1240L-v5, Supermicro X11SSH-CTF, 64GB ECC RAM, SSD, RAID-Z2
Homebridge | Alexa | Yowsup
Homematic | HomeConnect | MQTT | Philips Hue | Sonos | Unifi Network & Protect | vbus | Xiaomi

SvenJust

Hallo Hoppel!

Zitat von: hoppel118 am 14 April 2020, 13:39:41
Jetzt hast du mich allerdings etwas verunsichert. Eigentlich würde ich diese Lösung ohne extra RPi bevorzugen. Hm... ;)
Es wird mit und ohne Raspberry funktionieren. Das "Kochbuch" hatte ich unter Verwendung eines Raspberry geschrieben, da ich über WLAN zum Hauptrechner muss und etwa 50m Luft zwischen Heizung und Server habe. Das mqtt-Protokoll macht sich auf WLAN gut, welches nicht immer stabil ist. Wenn Du aber das serielle Signal per Kabel zum Server bekommst, sollte es ebenso mittels des Seriell-Ethernet-Adapters funktionieren.

Als ich meine Lösung entwickelt habe, hatte horchi noch KEINE mqtt-Schnittstelle integriert. Wenn Du Dir seine aktuelle Version anschaust, kannst Du dort auch direkt konfigurieren, dass Werte von p4d nach mqtt geschrieben werden. Die kann fhem direkt einlesen. Das macht mein oben gezeigtes Skript komplett überflüssig. Ich habe es bisher bei mir aber mit meinem Skript am Laufen, einfach weil es läuft und stabil ist.


Zitat von: hoppel118 am 14 April 2020, 13:39:41
Das folgende Gerät müsste den Informationen nach das richtige Gerät sein:

https://www.usriot.com/products/rs232-to-ethernet-converter.html
Ja, sieht gut aus. UART Schnittstelle kann in Linux als Device eingebunden werden.


Zitat von: hoppel118 am 14 April 2020, 13:39:41
Und der FHEM MQTT Server ist hier beschrieben:

https://wiki.fhem.de/wiki/MQTT

Richtig?
Ja.

Zitat von: hoppel118 am 14 April 2020, 13:39:41
Siehst du größere Schwierigkeiten auf mich zu kommen, wenn ich es direkt ohne RPi versuche? Ich behaupte, dass ich Ahnung von Linux habe und mittlerweile auch schon wirklich viel mit FHEM umgesetzt. Funktionieren die p4d Scripte, so wie sie sind mit der Lösung ohne RPi oder muss da dann irgendwas angepasst werden?
Sollte funktionieren, bei mir laufen die p4d Scripte auf einen Banana Pi. Du brauchst eine Datenbank auf dem System, mysql oder mariadb, wenn ich richtig erinnere.

Zitat von: hoppel118 am 14 April 2020, 13:39:41
Kann ich denn im p4d Dämon irgendwo hinterlegen, dass er das Gerät nicht über ein usb2serial Interface, sondern über ein eth2serial Interface erreicht? Was müsste ich dann nachfolgend statt des usb Adapters angeben?
uart://<ip des TCP-TTL-Moduls>:<eingestellter Port> siehe https://wiki.fhem.de/wiki/Serial_TTL_to_Ethernet_Module

VG Sven
FTUI, Raspberry PI/SSD, CUL CC1101, HMLAN, 10x HM-LC-Bl1PBU-FM, HM-LC-Sw4-WM (KWL Pluggit P300), HM-WDS30-OT2-SM (Sonnensensor), HM-Sec-SCo, LW-12 Wifi LED, CUL Selbstbau nanoCUL 433 (IT), Arduino (S0-Stromverbrauch), OW DS2480 (OWX_ASYNC) 8x DS18B20, MQTT (Fröling P4), MYSENSORS (Roto Rollläden)

hoppel118

Moin Sven,

danke erstmal für die ausführliche Antwort. Ich denke, hier habe ich noch Verstänisprobleme:

Zitat von: SvenJust am 14 April 2020, 19:20:58
uart://<ip des TCP-TTL-Moduls>:<eingestellter Port> siehe https://wiki.fhem.de/wiki/Serial_TTL_to_Ethernet_Module

Hier wird beschrieben, wie ich das Interface in FHEM einbinde. Aber wie kann ich dann mit horchi's Software darauf zugreifen? Müsste ich nicht wie folgt vorgehen:

Schritt 1 - ohne FHEM
• eth2serial Interface in mein Netzwerk einbinden und Interface einrichten
• eth2serial Interface auf der Linux Command Line meines Hauptservers einbinden
• horchi's Software (p4d, mysql, apache, etc.) auf meinem Hauptserver installieren
• horchi's Software so konfigurieren, dass der Zugriff auf das eth2serial Interface besteht

-> an diesem Punkt kann ich horchi's Software vollständig (ohne FHEM) nutzen.

Schritt 2 - mit FHEM

• FHEM Modul MQTT2-Server einrichten
• horchi's Software so konfigurieren, dass mit dem MQTT2-Server kommuniziert wird
• In FHEM das MQTT-Device anlegen, FileLog, SVG-Plots, etc. einrichten

Wo liegt mein Denkfehler?

Gruß Hoppel
Server: Openmediavault, XEON E3-1240L-v5, Supermicro X11SSH-CTF, 64GB ECC RAM, SSD, RAID-Z2
Homebridge | Alexa | Yowsup
Homematic | HomeConnect | MQTT | Philips Hue | Sonos | Unifi Network & Protect | vbus | Xiaomi

hoppel118

#15
Hallo,

da der Raspi plötzlich vor zwei Tagen schon angekommen ist, habe ich mich nun dafür entscheiden. Das ganze erstmal mit dem Raspi umzusetzen. Das mit dem usb2serial Interface kommt dann später irgendwann mal.

So weit, so gut. Ich bin wie folgt vorgegangen:


  • Raspi und usb2serial Kabel bestellt
  • Raspi zusammengebaut, mit raspbian buster lite aufgesetzt, ssh eingerichtet, locales eingestellt, apt-get update/upgrade ausgeführt
  • p4d Script von horchi ausgeführt
  • Raspi über das usb2serial Kabel an Com1 der S-3200 Steuerung angeschlossen
  • p4d WebInterface aufgerufen, "Init" unter "Setup - Aufzeichnung" ausgeführt, alle Messwerte, die keinen Wert liefern aussortiert
  • MQTT2_Server in FHEM definiert
  • in der Datei "/etc/p4d/p4d.conf" folgendes auskommentiert und IP-Adresse meines MQTT2-Servers ergänzt: "hassMqttUrl = tcp://IP_MEINES_MQTT2_SERVERS:1883"

Anschließend wurde in FHEM automatisch ein MQTT2_DEVICE angelegt.

Hier ein list vom MQTT2_SERVER:

Internals:
   CONNECTS   2
   DEF        1883 10.11.11.11
   FD         50
   FUUID      5e98c27c-f33f-5dcf-d59b-0c51ae813e768a84
   NAME       mqtt2server
   NR         572
   PORT       1883
   STATE      Initialized
   TYPE       MQTT2_SERVER
   READINGS:
     2020-04-18 09:37:20   RETAIN          {"homeassistant/sensor/Abgas-Solltemperatur_0x13/config":"{\u0022unit_of_measurement\u0022 : \u0022°C\u0022,\u0022value_template\u0022      : \u0022{{ value_json.value }}\u0022,\u0022state_topic\u0022         : \u0022p4d2mqtt/sensor/Abgas-Solltemperatur_0x13/state\u0022,\u0022name\u0022                : \u0022Abgas-Solltemperatur\u0022,\u0022unique_id\u0022           : \u0022Abgas-Solltemperatur_0x13_p4d2mqtt\u0022}","homeassistant/sensor/Abgastemperatur_0x1/config":"{\u0022unit_of_measurement\u0022 : \u0022°C\u0022,\u0022value_template\u0022      : \u0022{{ value_json.value }}\u0022,\u0022state_topic\u0022         : \u0022p4d2mqtt/sensor/Abgastemperatur_0x1/state\u0022,\u0022name\u0022                : \u0022Abgastemperatur\u0022,\u0022unique_id\u0022           : \u0022Abgastemperatur_0x1_p4d2mqtt\u0022}","homeassistant/sensor/Au__entemperatur_0x4/config":"{\u0022unit_of_measurement\u0022 : \u0022°C\u0022,\u0022value_template\u0022      : \u0022{{ value_json.value }}\u0022,\u0022state_topic\u0022         : \u0022p4d2mqtt/sensor/Außentemperatur_0x4/state\u0022,\u0022name\u0022                : \u0022Außentemperatur\u0022,\u0022unique_id\u0022           : \u0022Außentemperatur_0x4_p4d2mqtt\u0022}","homeassistant/sensor/Außentemperatur_0x4/config":"{\u0022unit_of_measurement\u0022 : \u0022°C\u0022,\u0022value_template\u0022      : \u0022{{ value_json.value }}\u0022,\u0022state_topic\u0022         : \u0022p4d2mqtt/sensor/Außentemperatur_0x4/state\u0022,\u0022name\u0022                : \u0022Außentemperatur\u0022,\u0022unique_id\u0022           : \u0022Außentemperatur_0x4_p4d2mqtt\u0022}","homeassistant/sensor/BetriebsartBoiler_0x156/config":"{\u0022unit_of_measurement\u0022 : \u0022\u0022,\u0022value_template\u0022      : \u0022{{ value_json.value }}\u0022,\u0022state_topic\u0022         : \u0022p4d2mqtt/sensor/BetriebsartBoiler_0x156/state\u0022,\u0022name\u0022                : \u0022Betriebsart Boiler\u0022,\u0022unique_id\u0022           : \u0022BetriebsartBoiler_0x156_p4d2mqtt\u0022}","homeassistant/sensor/BetriebsartHeizkreis_0x17/config":"{\u0022unit_of_measurement\u0022 : \u0022\u0022,\u0022value_template\u0022      : \u0022{{ value_json.value }}\u0022,\u0022state_topic\u0022         : \u0022p4d2mqtt/sensor/BetriebsartHeizkreis_0x17/state\u0022,\u0022name\u0022                : \u0022Betriebsart Heizkreis\u0022,\u0022unique_id\u0022           : \u0022BetriebsartHeizkreis_0x17_p4d2mqtt\u0022}","homeassistant/sensor/BetriebsartHeizkreis_0x1b/config":"{\u0022unit_of_measurement\u0022 : \u0022\u0022,\u0022value_template\u0022      : \u0022{{ value_json.value }}\u0022,\u0022state_topic\u0022         : \u0022p4d2mqtt/sensor/BetriebsartHeizkreis_0x1b/state\u0022,\u0022name\u0022                : \u0022Betriebsart Heizkreis\u0022,\u0022unique_id\u0022           : \u0022BetriebsartHeizkreis_0x1b_p4d2mqtt\u0022}","homeassistant/sensor/Betriebsmodus/config":"{\u0022unit_of_measurement\u0022 : \u0022\u0022,\u0022value_template\u0022      : \u0022{{ value_json.value }}\u0022,\u0022state_topic\u0022         : \u0022p4d2mqtt/sensor/Betriebsmodus/state\u0022,\u0022name\u0022                : \u0022Betriebsmodus\u0022,\u0022unique_id\u0022           : \u0022Betriebsmodus_p4d2mqtt\u0022}","homeassistant/sensor/Betriebsstunden_0x62/config":"{\u0022unit_of_measurement\u0022 : \u0022h\u0022,\u0022value_template\u0022      : \u0022{{ value_json.value }}\u0022,\u0022state_topic\u0022         : \u0022p4d2mqtt/sensor/Betriebsstunden_0x62/state\u0022,\u0022name\u0022                : \u0022Betriebsstunden\u0022,\u0022unique_id\u0022           : \u0022Betriebsstunden_0x62_p4d2mqtt\u0022}","homeassistant/sensor/BetriebsstundeninderFeuererhaltung_0x73/config":"{\u0022unit_of_measurement\u0022 : \u0022h\u0022,\u0022value_template\u0022      : \u0022{{ value_json.value }}\u0022,\u0022state_topic\u0022         : \u0022p4d2mqtt/sensor/BetriebsstundeninderFeuererhaltung_0x73/state\u0022,\u0022name\u0022                : \u0022Betriebsstunden in der Feuererhaltung\u0022,\u0022unique_id\u0022           : \u0022BetriebsstundeninderFeuererhaltung_0x73_p4d2mqtt\u0022}","homeassistant/sensor/BetriebsstundenvonKessel2Brennerkontakt_0x109/config":"{\u0022unit_of_measurement\u0022 : \u0022h\u0022,\u0022value_template\u0022      : \u0022{{ value_json.value }}\u0022,\u0022state_topic\u0022         : \u0022p4d2mqtt/sensor/BetriebsstundenvonKessel2Brennerkontakt_0x109/state\u0022,\u0022name\u0022                : \u0022Betriebsstunden von Kessel 2 (Brennerkontakt)\u0022,\u0022unique_id\u0022           : \u0022BetriebsstundenvonKessel2Brennerkontakt_0x109_p4d2mqtt\u0022}","homeassistant/sensor/Boardtemperatur_0x2/config":"{\u0022unit_of_measurement\u0022 : \u0022°C\u0022,\u0022value_template\u0022      : \u0022{{ value_json.value }}\u0022,\u0022state_topic\u0022         : \u0022p4d2mqtt/sensor/Boardtemperatur_0x2/state\u0022,\u0022name\u0022                : \u0022Boardtemperatur\u0022,\u0022unique_id\u0022           : \u0022Boardtemperatur_0x2_p4d2mqtt\u0022}","homeassistant/sensor/BoilerpumpeAnsteuerung_0x90/config":"{\u0022unit_of_measurement\u0022 : \u0022%\u0022,\u0022value_template\u0022      : \u0022{{ value_json.value }}\u0022,\u0022state_topic\u0022         : \u0022p4d2mqtt/sensor/BoilerpumpeAnsteuerung_0x90/state\u0022,\u0022name\u0022                : \u0022Boilerpumpe Ansteuerung\u0022,\u0022unique_id\u0022           : \u0022BoilerpumpeAnsteuerung_0x90_p4d2mqtt\u0022}","homeassistant/sensor/Boilertemperaturoben_0x5d/config":"{\u0022unit_of_measurement\u0022 : \u0022°C\u0022,\u0022value_template\u0022      : \u0022{{ value_json.value }}\u0022,\u0022state_topic\u0022         : \u0022p4d2mqtt/sensor/Boilertemperaturoben_0x5d/state\u0022,\u0022name\u0022                : \u0022Boilertemperatur oben\u0022,\u0022unique_id\u0022           : \u0022Boilertemperaturoben_0x5d_p4d2mqtt\u0022}","homeassistant/sensor/Build_0x16f/config":"{\u0022unit_of_measurement\u0022 : \u0022\u0022,\u0022value_template\u0022      : \u0022{{ value_json.value }}\u0022,\u0022state_topic\u0022         : \u0022p4d2mqtt/sensor/Build_0x16f/state\u0022,\u0022name\u0022                : \u0022Build\u0022,\u0022unique_id\u0022           : \u0022Build_0x16f_p4d2mqtt\u0022}","homeassistant/sensor/EmpfohleneHolzmengebeimNachlegen_0x10a/config":"{\u0022unit_of_measurement\u0022 : \u0022k\u0022,\u0022value_template\u0022      : \u0022{{ value_json.value }}\u0022,\u0022state_topic\u0022         : \u0022p4d2mqtt/sensor/EmpfohleneHolzmengebeimNachlegen_0x10a/state\u0022,\u0022name\u0022                : \u0022Empfohlene Holzmenge beim Nachlegen\u0022,\u0022unique_id\u0022           : \u0022EmpfohleneHolzmengebeimNachlegen_0x10a_p4d2mqtt\u0022}","homeassistant/sensor/F__hleramHydraulikmodul03_0xff/config":"{\u0022unit_of_measurement\u0022 : \u0022°C\u0022,\u0022value_template\u0022      : \u0022{{ value_json.value }}\u0022,\u0022state_topic\u0022         : \u0022p4d2mqtt/sensor/FühleramHydraulikmodul03_0xff/state\u0022,\u0022name\u0022                : \u0022Fühler am Hydraulikmodul      0.3\u0022,\u0022unique_id\u0022           : \u0022FühleramHydraulikmodul03_0xff_p4d2mqtt\u0022}","homeassistant/sensor/FühleramHydraulikmodul03_0xff/config":"{\u0022unit_of_measurement\u0022 : \u0022°C\u0022,\u0022value_template\u0022      : \u0022{{ value_json.value }}\u0022,\u0022state_topic\u0022         : \u0022p4d2mqtt/sensor/FühleramHydraulikmodul03_0xff/state\u0022,\u0022name\u0022                : \u0022Fühler am Hydraulikmodul      0.3\u0022,\u0022unique_id\u0022           : \u0022FühleramHydraulikmodul03_0xff_p4d2mqtt\u0022}","homeassistant/sensor/Kesselstellgr____e_0x12/config":"{\u0022unit_of_measurement\u0022 : \u0022%\u0022,\u0022value_template\u0022      : \u0022{{ value_json.value }}\u0022,\u0022state_topic\u0022         : \u0022p4d2mqtt/sensor/Kesselstellgröße_0x12/state\u0022,\u0022name\u0022                : \u0022Kesselstellgröße\u0022,\u0022unique_id\u0022           : \u0022Kesselstellgröße_0x12_p4d2mqtt\u0022}","homeassistant/sensor/Kesselstellgröße_0x12/config":"{\u0022unit_of_measurement\u0022 : \u0022%\u0022,\u0022value_template\u0022      : \u0022{{ value_json.value }}\u0022,\u0022state_topic\u0022         : \u0022p4d2mqtt/sensor/Kesselstellgröße_0x12/state\u0022,\u0022name\u0022                : \u0022Kesselstellgröße\u0022,\u0022unique_id\u0022           : \u0022Kesselstellgröße_0x12_p4d2mqtt
......
......
......
     2020-04-17 23:18:44   nrclients       2
     2020-04-17 23:18:19   state           Initialized
   clients:
     mqtt2server_10.11.11.8_44980 1
     mqtt2server_10.11.11.8_44982 1
   retain:
     homeassistant/sensor/Abgas-Solltemperatur_0x13/config:
       ts         1587195435.97526
       val        {"unit_of_measurement" : "°C","value_template"      : "{{ value_json.value }}","state_topic"         : "p4d2mqtt/sensor/Abgas-Solltemperatur_0x13/state","name"                : "Abgas-Solltemperatur","unique_id"           : "Abgas-Solltemperatur_0x13_p4d2mqtt"}
     homeassistant/sensor/Abgastemperatur_0x1/config:
       ts         1587195434.64316
       val        {"unit_of_measurement" : "°C","value_template"      : "{{ value_json.value }}","state_topic"         : "p4d2mqtt/sensor/Abgastemperatur_0x1/state","name"                : "Abgastemperatur","unique_id"           : "Abgastemperatur_0x1_p4d2mqtt"}
     homeassistant/sensor/Au__entemperatur_0x4/config:
       ts         1587158299.82145
       val        {"unit_of_measurement" : "°C","value_template"      : "{{ value_json.value }}","state_topic"         : "p4d2mqtt/sensor/Außentemperatur_0x4/state","name"                : "Außentemperatur","unique_id"           : "Außentemperatur_0x4_p4d2mqtt"}
     homeassistant/sensor/Außentemperatur_0x4/config:
       ts         1587195375.18743
       val        {"unit_of_measurement" : "°C","value_template"      : "{{ value_json.value }}","state_topic"         : "p4d2mqtt/sensor/Außentemperatur_0x4/state","name"                : "Außentemperatur","unique_id"           : "Außentemperatur_0x4_p4d2mqtt"}
     homeassistant/sensor/BetriebsartBoiler_0x156/config:
       ts         1587195439.26912
       val        {"unit_of_measurement" : "","value_template"      : "{{ value_json.value }}","state_topic"         : "p4d2mqtt/sensor/BetriebsartBoiler_0x156/state","name"                : "Betriebsart Boiler","unique_id"           : "BetriebsartBoiler_0x156_p4d2mqtt"}
     homeassistant/sensor/BetriebsartHeizkreis_0x17/config:
       ts         1587195376.27542
       val        {"unit_of_measurement" : "","value_template"      : "{{ value_json.value }}","state_topic"         : "p4d2mqtt/sensor/BetriebsartHeizkreis_0x17/state","name"                : "Betriebsart Heizkreis","unique_id"           : "BetriebsartHeizkreis_0x17_p4d2mqtt"}
     homeassistant/sensor/BetriebsartHeizkreis_0x1b/config:
       ts         1587195436.7766
       val        {"unit_of_measurement" : "","value_template"      : "{{ value_json.value }}","state_topic"         : "p4d2mqtt/sensor/BetriebsartHeizkreis_0x1b/state","name"                : "Betriebsart Heizkreis","unique_id"           : "BetriebsartHeizkreis_0x1b_p4d2mqtt"}
     homeassistant/sensor/Betriebsmodus/config:
       ts         1587195434.77014
       val        {"unit_of_measurement" : "","value_template"      : "{{ value_json.value }}","state_topic"         : "p4d2mqtt/sensor/Betriebsmodus/state","name"                : "Betriebsmodus","unique_id"           : "Betriebsmodus_p4d2mqtt"}
     homeassistant/sensor/Betriebsstunden_0x62/config:
       ts         1587195437.07685
       val        {"unit_of_measurement" : "h","value_template"      : "{{ value_json.value }}","state_topic"         : "p4d2mqtt/sensor/Betriebsstunden_0x62/state","name"                : "Betriebsstunden","unique_id"           : "Betriebsstunden_0x62_p4d2mqtt"}
     homeassistant/sensor/BetriebsstundeninderFeuererhaltung_0x73/config:
       ts         1587195437.22316
       val        {"unit_of_measurement" : "h","value_template"      : "{{ value_json.value }}","state_topic"         : "p4d2mqtt/sensor/BetriebsstundeninderFeuererhaltung_0x73/state","name"                : "Betriebsstunden in der Feuererhaltung","unique_id"           : "BetriebsstundeninderFeuererhaltung_0x73_p4d2mqtt"}
     homeassistant/sensor/BetriebsstundenvonKessel2Brennerkontakt_0x109/config:
       ts         1587195438.96557
       val        {"unit_of_measurement" : "h","value_template"      : "{{ value_json.value }}","state_topic"         : "p4d2mqtt/sensor/BetriebsstundenvonKessel2Brennerkontakt_0x109/state","name"                : "Betriebsstunden von Kessel 2 (Brennerkontakt)","unique_id"           : "BetriebsstundenvonKessel2Brennerkontakt_0x109_p4d2mqtt"}
     homeassistant/sensor/Boardtemperatur_0x2/config:
       ts         1587195435.05117
       val        {"unit_of_measurement" : "°C","value_template"      : "{{ value_json.value }}","state_topic"         : "p4d2mqtt/sensor/Boardtemperatur_0x2/state","name"                : "Boardtemperatur","unique_id"           : "Boardtemperatur_0x2_p4d2mqtt"}
     homeassistant/sensor/BoilerpumpeAnsteuerung_0x90/config:
       ts         1587195437.80036
       val        {"unit_of_measurement" : "%","value_template"      : "{{ value_json.value }}","state_topic"         : "p4d2mqtt/sensor/BoilerpumpeAnsteuerung_0x90/state","name"                : "Boilerpumpe Ansteuerung","unique_id"           : "BoilerpumpeAnsteuerung_0x90_p4d2mqtt"}
     homeassistant/sensor/Boilertemperaturoben_0x5d/config:
       ts         1587195436.91866
       val        {"unit_of_measurement" : "°C","value_template"      : "{{ value_json.value }}","state_topic"         : "p4d2mqtt/sensor/Boilertemperaturoben_0x5d/state","name"                : "Boilertemperatur oben","unique_id"           : "Boilertemperaturoben_0x5d_p4d2mqtt"}
     homeassistant/sensor/Build_0x16f/config:
       ts         1587195439.41627
       val        {"unit_of_measurement" : "","value_template"      : "{{ value_json.value }}","state_topic"         : "p4d2mqtt/sensor/Build_0x16f/state","name"                : "Build","unique_id"           : "Build_0x16f_p4d2mqtt"}
     homeassistant/sensor/EmpfohleneHolzmengebeimNachlegen_0x10a/config:
       ts         1587195439.14132
       val        {"unit_of_measurement" : "k","value_template"      : "{{ value_json.value }}","state_topic"         : "p4d2mqtt/sensor/EmpfohleneHolzmengebeimNachlegen_0x10a/state","name"                : "Empfohlene Holzmenge beim Nachlegen","unique_id"           : "EmpfohleneHolzmengebeimNachlegen_0x10a_p4d2mqtt"}
     homeassistant/sensor/F__hleramHydraulikmodul03_0xff/config:
       ts         1587158299.82145
       val        {"unit_of_measurement" : "°C","value_template"      : "{{ value_json.value }}","state_topic"         : "p4d2mqtt/sensor/FühleramHydraulikmodul03_0xff/state","name"                : "Fühler am Hydraulikmodul      0.3","unique_id"           : "FühleramHydraulikmodul03_0xff_p4d2mqtt"}
     homeassistant/sensor/FühleramHydraulikmodul03_0xff/config:
       ts         1587195438.82364
       val        {"unit_of_measurement" : "°C","value_template"      : "{{ value_json.value }}","state_topic"         : "p4d2mqtt/sensor/FühleramHydraulikmodul03_0xff/state","name"                : "Fühler am Hydraulikmodul      0.3","unique_id"           : "FühleramHydraulikmodul03_0xff_p4d2mqtt"}
     homeassistant/sensor/Kesselstellgr____e_0x12/config:
       ts         1587158299.82145
       val        {"unit_of_measurement" : "%","value_template"      : "{{ value_json.value }}","state_topic"         : "p4d2mqtt/sensor/Kesselstellgröße_0x12/state","name"                : "Kesselstellgröße","unique_id"           : "Kesselstellgröße_0x12_p4d2mqtt"}
     homeassistant/sensor/Kesselstellgröße_0x12/config:
       ts         1587195435.83021
       val        {"unit_of_measurement" : "%","value_template"      : "{{ value_json.value }}","state_topic"         : "p4d2mqtt/sensor/Kesselstellgröße_0x12/state","name"                : "Kesselstellgröße","unique_id"           : "Kesselstellgröße_0x12_p4d2mqtt"}
     homeassistant/sensor/Kesseltemperatur_0x0/config:
       ts         1587195434.34802
       val        {"unit_of_measurement" : "°C","value_template"      : "{{ value_json.value }}","state_topic"         : "p4d2mqtt/sensor/Kesseltemperatur_0x0/state","name"                : "Kesseltemperatur","unique_id"           : "Kesseltemperatur_0x0_p4d2mqtt"}
     homeassistant/sensor/Kesselzustand_0x1c9/config:
       ts         1587195440.13383
       val        {"unit_of_measurement" : "","value_template"      : "{{ value_json.value }}","state_topic"         : "p4d2mqtt/sensor/Kesselzustand_0x1c9/state","name"                : "Kesselzustand","unique_id"           : "Kesselzustand_0x1c9_p4d2mqtt"}
     homeassistant/sensor/Lambdasondenspannunggemessen_0xd3/config:
       ts         1587195438.11069
       val        {"unit_of_measurement" : "m","value_template"      : "{{ value_json.value }}","state_topic"         : "p4d2mqtt/sensor/Lambdasondenspannunggemessen_0xd3/state","name"                : "Lambdasondenspannung gemessen","unique_id"           : "Lambdasondenspannunggemessen_0xd3_p4d2mqtt"}
     homeassistant/sensor/Lambdasondenspannungkorrigiert_0xdc/config:
       ts         1587195438.39118
       val        {"unit_of_measurement" : "m","value_template"      : "{{ value_json.value }}","state_topic"         : "p4d2mqtt/sensor/Lambdasondenspannungkorrigiert_0xdc/state","name"                : "Lambdasondenspannung korrigiert","unique_id"           : "Lambdasondenspannungkorrigiert_0xdc_p4d2mqtt"}
     homeassistant/sensor/PufferladezustandDiskret_0x1c0/config:
       ts         1587195439.84753
       val        {"unit_of_measurement" : "","value_template"      : "{{ value_json.value }}","state_topic"         : "p4d2mqtt/sensor/PufferladezustandDiskret_0x1c0/state","name"                : "Pufferladezustand Diskret","unique_id"           : "PufferladezustandDiskret_0x1c0_p4d2mqtt"}
     homeassistant/sensor/Pufferladezustand_0x1bf/config:
       ts         1587195439.70212
       val        {"unit_of_measurement" : "%","value_template"      : "{{ value_json.value }}","state_topic"         : "p4d2mqtt/sensor/Pufferladezustand_0x1bf/state","name"                : "Pufferladezustand","unique_id"           : "Pufferladezustand_0x1bf_p4d2mqtt"}
     homeassistant/sensor/Pufferladezustand_0xe1/config:
       ts         1587195438.6777
       val        {"unit_of_measurement" : "%","value_template"      : "{{ value_json.value }}","state_topic"         : "p4d2mqtt/sensor/Pufferladezustand_0xe1/state","name"                : "Pufferladezustand","unique_id"           : "Pufferladezustand_0xe1_p4d2mqtt"}
     homeassistant/sensor/PufferpumpenAnsteuerung_0x8c/config:
       ts         1587195437.65401
       val        {"unit_of_measurement" : "%","value_template"      : "{{ value_json.value }}","state_topic"         : "p4d2mqtt/sensor/PufferpumpenAnsteuerung_0x8c/state","name"                : "Pufferpumpen Ansteuerung","unique_id"           : "PufferpumpenAnsteuerung_0x8c_p4d2mqtt"}
     homeassistant/sensor/PufferpumpenbegrenzungdurchAbgastemperatur_0xde/config:
       ts         1587195438.53709
       val        {"unit_of_measurement" : "%","value_template"      : "{{ value_json.value }}","state_topic"         : "p4d2mqtt/sensor/PufferpumpenbegrenzungdurchAbgastemperatur_0xde/state","name"                : "Pufferpumpenbegrenzung durch Abgastemperatur","unique_id"           : "PufferpumpenbegrenzungdurchAbgastemperatur_0xde_p4d2mqtt"}
     homeassistant/sensor/Puffertemperaturoben_0x76/config:
       ts         1587195437.36648
       val        {"unit_of_measurement" : "°C","value_template"      : "{{ value_json.value }}","state_topic"         : "p4d2mqtt/sensor/Puffertemperaturoben_0x76/state","name"                : "Puffertemperatur oben","unique_id"           : "Puffertemperaturoben_0x76_p4d2mqtt"}
     homeassistant/sensor/Puffertemperaturunten_0x78/config:
       ts         1587195437.51151
       val        {"unit_of_measurement" : "°C","value_template"      : "{{ value_json.value }}","state_topic"         : "p4d2mqtt/sensor/Puffertemperaturunten_0x78/state","name"                : "Puffertemperatur unten","unique_id"           : "Puffertemperaturunten_0x78_p4d2mqtt"}
     homeassistant/sensor/Raumf__hlerKBGTouch_0x191/config:
       ts         1587158299.82145
       val        {"unit_of_measurement" : "°C","value_template"      : "{{ value_json.value }}","state_topic"         : "p4d2mqtt/sensor/RaumfühlerKBGTouch_0x191/state","name"                : "Raumfühler KBG Touch","unique_id"           : "RaumfühlerKBGTouch_0x191_p4d2mqtt"}
     homeassistant/sensor/RaumfühlerKBGTouch_0x191/config:
       ts         1587195439.55722
       val        {"unit_of_measurement" : "°C","value_template"      : "{{ value_json.value }}","state_topic"         : "p4d2mqtt/sensor/RaumfühlerKBGTouch_0x191/state","name"                : "Raumfühler KBG Touch","unique_id"           : "RaumfühlerKBGTouch_0x191_p4d2mqtt"}
     homeassistant/sensor/Saugzug-Ansteuerung_0xf/config:
       ts         1587195435.7024
       val        {"unit_of_measurement" : "%","value_template"      : "{{ value_json.value }}","state_topic"         : "p4d2mqtt/sensor/Saugzug-Ansteuerung_0xf/state","name"                : "Saugzug - Ansteuerung","unique_id"           : "Saugzug-Ansteuerung_0xf_p4d2mqtt"}
     homeassistant/sensor/Saugzugdrehzahl_0x7/config:
       ts         1587195435.40959
       val        {"unit_of_measurement" : "U","value_template"      : "{{ value_json.value }}","state_topic"         : "p4d2mqtt/sensor/Saugzugdrehzahl_0x7/state","name"                : "Saugzugdrehzahl","unique_id"           : "Saugzugdrehzahl_0x7_p4d2mqtt"}
     homeassistant/sensor/Status/config:
       ts         1587195434.46846
       val        {"unit_of_measurement" : "","value_template"      : "{{ value_json.value }}","state_topic"         : "p4d2mqtt/sensor/Status/state","name"                : "zst","unique_id"           : "Status_p4d2mqtt"}
     homeassistant/sensor/StundenseitletzterWartung_0xd5/config:
       ts         1587195438.24674
       val        {"unit_of_measurement" : "h","value_template"      : "{{ value_json.value }}","state_topic"         : "p4d2mqtt/sensor/StundenseitletzterWartung_0xd5/state","name"                : "Stunden seit letzter Wartung","unique_id"           : "StundenseitletzterWartung_0xd5_p4d2mqtt"}
     homeassistant/sensor/TemperaturdesZweitkessel_0xc4/config:
       ts         1587195437.94334
       val        {"unit_of_measurement" : "°C","value_template"      : "{{ value_json.value }}","state_topic"         : "p4d2mqtt/sensor/TemperaturdesZweitkessel_0xc4/state","name"                : "Temperatur des Zweitkessel","unique_id"           : "TemperaturdesZweitkessel_0xc4_p4d2mqtt"}
     homeassistant/sensor/Uhrzeit/config:
       ts         1587195435.16629
       val        {"unit_of_measurement" : "","value_template"      : "{{ value_json.value }}","state_topic"         : "p4d2mqtt/sensor/Uhrzeit/state","name"                : "Datum Uhrzeit der Heizung","unique_id"           : "Uhrzeit_p4d2mqtt"}
.......
.......
.......
     p4d2mqtt/sensor/Abgas-Solltemperatur_0x13/state:
       ts         1587195435.99123
       val        { "value" : "273.00" }
     p4d2mqtt/sensor/Abgastemperatur_0x1/state:
       ts         1587195434.66153
       val        { "value" : "227.00" }
     p4d2mqtt/sensor/Au__entemperatur_0x4/state:
       ts         1587158299.82145
       val        { "value" : "9.50" }
     p4d2mqtt/sensor/Außentemperatur_0x4/state:
       ts         1587195435.26163
       val        { "value" : "8.00" }
     p4d2mqtt/sensor/BetriebsartBoiler_0x156/state:
       ts         1587195439.28548
       val        { "value" : "1.00" }
     p4d2mqtt/sensor/BetriebsartHeizkreis_0x17/state:
       ts         1587195436.3516
       val        { "value" : "0.00" }
     p4d2mqtt/sensor/BetriebsartHeizkreis_0x1b/state:
       ts         1587195436.79197
       val        { "value" : "0.00" }
     p4d2mqtt/sensor/Betriebsmodus/state:
       ts         1587195434.78881
       val        { "value" : "Dauerlast" }
     p4d2mqtt/sensor/Betriebsstunden_0x62/state:
       ts         1587195437.09268
       val        { "value" : "9808.00" }
     p4d2mqtt/sensor/BetriebsstundeninderFeuererhaltung_0x73/state:
       ts         1587195437.23878
       val        { "value" : "27.00" }
     p4d2mqtt/sensor/BetriebsstundenvonKessel2Brennerkontakt_0x109/state:
       ts         1587195438.98258
       val        { "value" : "2416.00" }
     p4d2mqtt/sensor/Boardtemperatur_0x2/state:
       ts         1587195435.05976
       val        { "value" : "35.50" }
     p4d2mqtt/sensor/BoilerpumpeAnsteuerung_0x90/state:
       ts         1587195437.81592
       val        { "value" : "0.00" }
     p4d2mqtt/sensor/Boilertemperaturoben_0x5d/state:
       ts         1587195436.92819
       val        { "value" : "57.00" }
     p4d2mqtt/sensor/Build_0x16f/state:
       ts         1587195439.42873
       val        { "value" : "2.00" }
     p4d2mqtt/sensor/EmpfohleneHolzmengebeimNachlegen_0x10a/state:
       ts         1587195439.14754
       val        { "value" : "9.00" }
     p4d2mqtt/sensor/F__hleramHydraulikmodul03_0xff/state:
       ts         1587158299.82145
       val        { "value" : "65.00" }
     p4d2mqtt/sensor/FühleramHydraulikmodul03_0xff/state:
       ts         1587195438.83971
       val        { "value" : "57.00" }
     p4d2mqtt/sensor/Kesselstellgr____e_0x12/state:
       ts         1587158299.82145
       val        { "value" : "100.00" }
     p4d2mqtt/sensor/Kesselstellgröße_0x12/state:
       ts         1587195435.84579
       val        { "value" : "98.00" }
     p4d2mqtt/sensor/Kesseltemperatur_0x0/state:
       ts         1587195434.3888
       val        { "value" : "69.00" }
     p4d2mqtt/sensor/Kesselzustand_0x1c9/state:
       ts         1587195440.15025
       val        { "value" : "3.00" }
     p4d2mqtt/sensor/Lambdasondenspannunggemessen_0xd3/state:
       ts         1587195438.12658
       val        { "value" : "24.14" }
     p4d2mqtt/sensor/Lambdasondenspannungkorrigiert_0xdc/state:
       ts         1587195438.40732
       val        { "value" : "24.14" }
     p4d2mqtt/sensor/PufferladezustandDiskret_0x1c0/state:
       ts         1587195439.86322
       val        { "value" : "2.00" }
     p4d2mqtt/sensor/Pufferladezustand_0x1bf/state:
       ts         1587195439.71997
       val        { "value" : "52.00" }
     p4d2mqtt/sensor/Pufferladezustand_0xe1/state:
       ts         1587195438.6953
       val        { "value" : "52.00" }
     p4d2mqtt/sensor/PufferpumpenAnsteuerung_0x8c/state:
       ts         1587195437.6727
       val        { "value" : "45.00" }
     p4d2mqtt/sensor/PufferpumpenbegrenzungdurchAbgastemperatur_0xde/state:
       ts         1587195438.54527
       val        { "value" : "3.00" }
     p4d2mqtt/sensor/Puffertemperaturoben_0x76/state:
       ts         1587195437.37612
       val        { "value" : "70.50" }
     p4d2mqtt/sensor/Puffertemperaturunten_0x78/state:
       ts         1587195437.52786
       val        { "value" : "37.50" }
     p4d2mqtt/sensor/Raumf__hlerKBGTouch_0x191/state:
       ts         1587158299.82145
       val        { "value" : "19.00" }
     p4d2mqtt/sensor/RaumfühlerKBGTouch_0x191/state:
       ts         1587195439.5725
       val        { "value" : "19.00" }
     p4d2mqtt/sensor/Saugzug-Ansteuerung_0xf/state:
       ts         1587195435.70813
       val        { "value" : "88.00" }
     p4d2mqtt/sensor/Saugzugdrehzahl_0x7/state:
       ts         1587195435.43228
       val        { "value" : "2652.00" }
     p4d2mqtt/sensor/Status/state:
       ts         1587195434.48426
       val        { "value" : "Heizen" }
     p4d2mqtt/sensor/StundenseitletzterWartung_0xd5/state:
       ts         1587195438.26271
       val        { "value" : "9808.00" }
     p4d2mqtt/sensor/TemperaturdesZweitkessel_0xc4/state:
       ts         1587195437.95988
       val        { "value" : "24.00" }
     p4d2mqtt/sensor/Uhrzeit/state:
       ts         1587195435.18187
       val        { "value" : "Saturday, 18. Apr. 2020 09:25:51" }
     p4d2mqtt/sensor/VergangeneZeitseitletzterW__rmetauscherreinigung_0x1c7/state:
       ts         1587158299.82145
       val        { "value" : "0.00" }
     p4d2mqtt/sensor/VergangeneZeitseitletzterWärmetauscherreinigung_0x1c7/state:
       ts         1587195440.00548
       val        { "value" : "137.00" }
     p4d2mqtt/sensor/Vorlauf-Isttemperatur_0x15/state:
       ts         1587195436.13333
       val        { "value" : "48.50" }
     p4d2mqtt/sensor/Vorlauf-Isttemperatur_0x19/state:
       ts         1587195436.50244
       val        { "value" : "41.00" }
     p4d2mqtt/sensor/Vorlauf-Solltemperatur_0x16/state:
       ts         1587195436.27502
       val        { "value" : "52.00" }
     p4d2mqtt/sensor/Vorlauf-Solltemperatur_0x1a/state:
       ts         1587195436.64846
       val        { "value" : "52.00" }
     p4d2mqtt/sensor/Zykluszeit_0xe/state:
       ts         1587195435.575
       val        { "value" : "53.90" }
Attributes:
   room       System->MQTT,System->Zentralen


Da das list meines MQTT2_SERVERS zu viele Zeichen für einen Post hat, musste ich an einigen Stellen ein paar Sachen kürzen...

Ist das normal, dass am MQTT2_SERVER unter "RETAIN" und "retain" alle topics (heißt das so?) aufgeführt werden?

Im nächsten Post geht's weiter.
Server: Openmediavault, XEON E3-1240L-v5, Supermicro X11SSH-CTF, 64GB ECC RAM, SSD, RAID-Z2
Homebridge | Alexa | Yowsup
Homematic | HomeConnect | MQTT | Philips Hue | Sonos | Unifi Network & Protect | vbus | Xiaomi

hoppel118

#16
Hier noch ein list vom MQTT2_DEVICE:

Internals:
   CID        p4d_publisher
   DEF        p4d_publisher
   DEVICETOPIC MQTT2_p4d_publisher
   FUUID      5e99776c-f33f-5dcf-2ab6-b971959880093aca
   IODev      mqtt2server
   IODevName  mqttBroker
   LASTInputDev mqtt2server
   MSGCNT     11175
   NAME       MQTT2_p4d_publisher
   NR         573
   STATE      ???
   TYPE       MQTT2_DEVICE
   mqtt2server_MSGCNT 11175
   mqtt2server_TIME 2020-04-17 22:41:49
   READINGS:
     2020-04-17 22:41:49   name            Kesselzustand
     2020-04-17 22:41:49   state_topic     p4d2mqtt/sensor/Kesselzustand_0x1c9/state
     2020-04-17 22:41:49   unique_id       Kesselzustand_0x1c9_p4d2mqtt
     2020-04-17 22:41:49   unit_of_measurement
     2020-04-17 22:41:49   value           5.00
     2020-04-17 22:41:49   value_template  {{ value_json.value }}
Attributes:
   IODev      mqtt2server
   readingList p4d_publisher:homeassistant/sensor/Kesseltemperatur_0x0/config:.* { json2nameValue($EVENT) }
p4d_publisher:p4d2mqtt/sensor/Kesseltemperatur_0x0/state:.* { json2nameValue($EVENT) }
p4d_publisher:homeassistant/sensor/Status/config:.* { json2nameValue($EVENT) }
p4d_publisher:p4d2mqtt/sensor/Status/state:.* { json2nameValue($EVENT) }
p4d_publisher:homeassistant/sensor/Abgastemperatur_0x1/config:.* { json2nameValue($EVENT) }
p4d_publisher:p4d2mqtt/sensor/Abgastemperatur_0x1/state:.* { json2nameValue($EVENT) }
p4d_publisher:homeassistant/sensor/Betriebsmodus/config:.* { json2nameValue($EVENT) }
p4d_publisher:p4d2mqtt/sensor/Betriebsmodus/state:.* { json2nameValue($EVENT) }
p4d_publisher:homeassistant/sensor/Boardtemperatur_0x2/config:.* { json2nameValue($EVENT) }
p4d_publisher:p4d2mqtt/sensor/Boardtemperatur_0x2/state:.* { json2nameValue($EVENT) }
p4d_publisher:homeassistant/sensor/Uhrzeit/config:.* { json2nameValue($EVENT) }
p4d_publisher:p4d2mqtt/sensor/Uhrzeit/state:.* { json2nameValue($EVENT) }
p4d_publisher:homeassistant/sensor/Au\xc3\x9fentemperatur_0x4/config:.* { json2nameValue($EVENT) }
p4d_publisher:p4d2mqtt/sensor/Au\xc3\x9fentemperatur_0x4/state:.* { json2nameValue($EVENT) }
p4d_publisher:homeassistant/sensor/Saugzugdrehzahl_0x7/config:.* { json2nameValue($EVENT) }
p4d_publisher:p4d2mqtt/sensor/Saugzugdrehzahl_0x7/state:.* { json2nameValue($EVENT) }
p4d_publisher:homeassistant/sensor/Zykluszeit_0xe/config:.* { json2nameValue($EVENT) }
p4d_publisher:p4d2mqtt/sensor/Zykluszeit_0xe/state:.* { json2nameValue($EVENT) }
p4d_publisher:homeassistant/sensor/Saugzug-Ansteuerung_0xf/config:.* { json2nameValue($EVENT) }
p4d_publisher:p4d2mqtt/sensor/Saugzug-Ansteuerung_0xf/state:.* { json2nameValue($EVENT) }
p4d_publisher:homeassistant/sensor/Kesselstellgr\xc3\xb6\xc3\x9fe_0x12/config:.* { json2nameValue($EVENT) }
p4d_publisher:p4d2mqtt/sensor/Kesselstellgr\xc3\xb6\xc3\x9fe_0x12/state:.* { json2nameValue($EVENT) }
p4d_publisher:homeassistant/sensor/Abgas-Solltemperatur_0x13/config:.* { json2nameValue($EVENT) }
p4d_publisher:p4d2mqtt/sensor/Abgas-Solltemperatur_0x13/state:.* { json2nameValue($EVENT) }
p4d_publisher:homeassistant/sensor/Vorlauf-Isttemperatur_0x15/config:.* { json2nameValue($EVENT) }
p4d_publisher:p4d2mqtt/sensor/Vorlauf-Isttemperatur_0x15/state:.* { json2nameValue($EVENT) }
p4d_publisher:homeassistant/sensor/Vorlauf-Solltemperatur_0x16/config:.* { json2nameValue($EVENT) }
p4d_publisher:p4d2mqtt/sensor/Vorlauf-Solltemperatur_0x16/state:.* { json2nameValue($EVENT) }
p4d_publisher:homeassistant/sensor/BetriebsartHeizkreis_0x17/config:.* { json2nameValue($EVENT) }
p4d_publisher:p4d2mqtt/sensor/BetriebsartHeizkreis_0x17/state:.* { json2nameValue($EVENT) }
p4d_publisher:homeassistant/sensor/Vorlauf-Isttemperatur_0x19/config:.* { json2nameValue($EVENT) }
p4d_publisher:p4d2mqtt/sensor/Vorlauf-Isttemperatur_0x19/state:.* { json2nameValue($EVENT) }
p4d_publisher:homeassistant/sensor/Vorlauf-Solltemperatur_0x1a/config:.* { json2nameValue($EVENT) }
p4d_publisher:p4d2mqtt/sensor/Vorlauf-Solltemperatur_0x1a/state:.* { json2nameValue($EVENT) }
p4d_publisher:homeassistant/sensor/BetriebsartHeizkreis_0x1b/config:.* { json2nameValue($EVENT) }
p4d_publisher:p4d2mqtt/sensor/BetriebsartHeizkreis_0x1b/state:.* { json2nameValue($EVENT) }
p4d_publisher:homeassistant/sensor/Boilertemperaturoben_0x5d/config:.* { json2nameValue($EVENT) }
p4d_publisher:p4d2mqtt/sensor/Boilertemperaturoben_0x5d/state:.* { json2nameValue($EVENT) }
p4d_publisher:homeassistant/sensor/Betriebsstunden_0x62/config:.* { json2nameValue($EVENT) }
p4d_publisher:p4d2mqtt/sensor/Betriebsstunden_0x62/state:.* { json2nameValue($EVENT) }
p4d_publisher:homeassistant/sensor/BetriebsstundeninderFeuererhaltung_0x73/config:.* { json2nameValue($EVENT) }
p4d_publisher:p4d2mqtt/sensor/BetriebsstundeninderFeuererhaltung_0x73/state:.* { json2nameValue($EVENT) }
p4d_publisher:homeassistant/sensor/Puffertemperaturoben_0x76/config:.* { json2nameValue($EVENT) }
p4d_publisher:p4d2mqtt/sensor/Puffertemperaturoben_0x76/state:.* { json2nameValue($EVENT) }
p4d_publisher:homeassistant/sensor/Puffertemperaturunten_0x78/config:.* { json2nameValue($EVENT) }
p4d_publisher:p4d2mqtt/sensor/Puffertemperaturunten_0x78/state:.* { json2nameValue($EVENT) }
p4d_publisher:homeassistant/sensor/PufferpumpenAnsteuerung_0x8c/config:.* { json2nameValue($EVENT) }
p4d_publisher:p4d2mqtt/sensor/PufferpumpenAnsteuerung_0x8c/state:.* { json2nameValue($EVENT) }
p4d_publisher:homeassistant/sensor/BoilerpumpeAnsteuerung_0x90/config:.* { json2nameValue($EVENT) }
p4d_publisher:p4d2mqtt/sensor/BoilerpumpeAnsteuerung_0x90/state:.* { json2nameValue($EVENT) }
p4d_publisher:homeassistant/sensor/TemperaturdesZweitkessel_0xc4/config:.* { json2nameValue($EVENT) }
p4d_publisher:p4d2mqtt/sensor/TemperaturdesZweitkessel_0xc4/state:.* { json2nameValue($EVENT) }
p4d_publisher:homeassistant/sensor/Lambdasondenspannunggemessen_0xd3/config:.* { json2nameValue($EVENT) }
p4d_publisher:p4d2mqtt/sensor/Lambdasondenspannunggemessen_0xd3/state:.* { json2nameValue($EVENT) }
p4d_publisher:homeassistant/sensor/StundenseitletzterWartung_0xd5/config:.* { json2nameValue($EVENT) }
p4d_publisher:p4d2mqtt/sensor/StundenseitletzterWartung_0xd5/state:.* { json2nameValue($EVENT) }
p4d_publisher:homeassistant/sensor/Lambdasondenspannungkorrigiert_0xdc/config:.* { json2nameValue($EVENT) }
p4d_publisher:p4d2mqtt/sensor/Lambdasondenspannungkorrigiert_0xdc/state:.* { json2nameValue($EVENT) }
p4d_publisher:homeassistant/sensor/PufferpumpenbegrenzungdurchAbgastemperatur_0xde/config:.* { json2nameValue($EVENT) }
p4d_publisher:p4d2mqtt/sensor/PufferpumpenbegrenzungdurchAbgastemperatur_0xde/state:.* { json2nameValue($EVENT) }
p4d_publisher:homeassistant/sensor/Pufferladezustand_0xe1/config:.* { json2nameValue($EVENT) }
p4d_publisher:p4d2mqtt/sensor/Pufferladezustand_0xe1/state:.* { json2nameValue($EVENT) }
p4d_publisher:homeassistant/sensor/F\xc3\xbchleramHydraulikmodul03_0xff/config:.* { json2nameValue($EVENT) }
p4d_publisher:p4d2mqtt/sensor/F\xc3\xbchleramHydraulikmodul03_0xff/state:.* { json2nameValue($EVENT) }
p4d_publisher:homeassistant/sensor/BetriebsstundenvonKessel2Brennerkontakt_0x109/config:.* { json2nameValue($EVENT) }
p4d_publisher:p4d2mqtt/sensor/BetriebsstundenvonKessel2Brennerkontakt_0x109/state:.* { json2nameValue($EVENT) }
p4d_publisher:homeassistant/sensor/EmpfohleneHolzmengebeimNachlegen_0x10a/config:.* { json2nameValue($EVENT) }
p4d_publisher:p4d2mqtt/sensor/EmpfohleneHolzmengebeimNachlegen_0x10a/state:.* { json2nameValue($EVENT) }
p4d_publisher:homeassistant/sensor/BetriebsartBoiler_0x156/config:.* { json2nameValue($EVENT) }
p4d_publisher:p4d2mqtt/sensor/BetriebsartBoiler_0x156/state:.* { json2nameValue($EVENT) }
p4d_publisher:homeassistant/sensor/Build_0x16f/config:.* { json2nameValue($EVENT) }
p4d_publisher:p4d2mqtt/sensor/Build_0x16f/state:.* { json2nameValue($EVENT) }
p4d_publisher:homeassistant/sensor/Raumf\xc3\xbchlerKBGTouch_0x191/config:.* { json2nameValue($EVENT) }
p4d_publisher:p4d2mqtt/sensor/Raumf\xc3\xbchlerKBGTouch_0x191/state:.* { json2nameValue($EVENT) }
p4d_publisher:homeassistant/sensor/Pufferladezustand_0x1bf/config:.* { json2nameValue($EVENT) }
p4d_publisher:p4d2mqtt/sensor/Pufferladezustand_0x1bf/state:.* { json2nameValue($EVENT) }
p4d_publisher:homeassistant/sensor/PufferladezustandDiskret_0x1c0/config:.* { json2nameValue($EVENT) }
p4d_publisher:p4d2mqtt/sensor/PufferladezustandDiskret_0x1c0/state:.* { json2nameValue($EVENT) }
p4d_publisher:homeassistant/sensor/VergangeneZeitseitletzterW\xc3\xa4rmetauscherreinigung_0x1c7/config:.* { json2nameValue($EVENT) }
p4d_publisher:p4d2mqtt/sensor/VergangeneZeitseitletzterW\xc3\xa4rmetauscherreinigung_0x1c7/state:.* { json2nameValue($EVENT) }
p4d_publisher:homeassistant/sensor/Kesselzustand_0x1c9/config:.* { json2nameValue($EVENT) }
p4d_publisher:p4d2mqtt/sensor/Kesselzustand_0x1c9/state:.* { json2nameValue($EVENT) }
   room       System->MQTT


Für mich ist dieses MQTT-Zeugs absolutes Neuland. Evtl. kann mir jemand kurz auf die Sprünge helfen. Was muss ich tun, damit die Readings vom Device normal aussehen und nicht so:

   READINGS:
     2020-04-17 22:41:49   name            Kesselzustand
     2020-04-17 22:41:49   state_topic     p4d2mqtt/sensor/Kesselzustand_0x1c9/state
     2020-04-17 22:41:49   unique_id       Kesselzustand_0x1c9_p4d2mqtt
     2020-04-17 22:41:49   unit_of_measurement
     2020-04-17 22:41:49   value           5.00
     2020-04-17 22:41:49   value_template  {{ value_json.value }}


Alle in der readingList aufgeführten topics werden in regelmäßigen Abständen unter Readings innerhalb von ein paar Sekunden aktualisiert. Für das Device wurde auch automatisch ein Filelog angelegt. Aber in der Form kann ich damit wenig anfangen. Was fehlt mir?

Des weiteren gibt es pro Messwert zwei Zeilen, eine ist immer für homeassistant, bspw.:

p4d_publisher:homeassistant/sensor/Kesseltemperatur_0x0/config:.* { json2nameValue($EVENT) }
p4d_publisher:p4d2mqtt/sensor/Kesseltemperatur_0x0/state:.* { json2nameValue($EVENT) }


Kann ich es Server-seitig irgendwie eingrenzen, dass alles, was mit homeassistant zu tun hat, nicht empfangen/verarbeitet werden soll. Oder muss das auf der Clientseite (RPi/p4d) getan werden? Vom Ding her stört es ja auch nicht wirklich.

Viele Grüße Hoppel
Server: Openmediavault, XEON E3-1240L-v5, Supermicro X11SSH-CTF, 64GB ECC RAM, SSD, RAID-Z2
Homebridge | Alexa | Yowsup
Homematic | HomeConnect | MQTT | Philips Hue | Sonos | Unifi Network & Protect | vbus | Xiaomi

hoppel118

Hi,

ich habe im Unterforenbereich "MQTT" einen eigenen Thread erstellt: https://forum.fhem.de/index.php/topic,110401.msg

@rudolfkoenig und @Beta-User haben das Thema so ziemlich in den Griff bekommen. Ich wollte hier erstmal nur den Hinweis geben und melde mich morgen nochmal, wenn ich das Update eingespielt habe, wie das per autocreate angelegte Device nun aussieht.

An dieser Stelle auch hier nochmal ein dickes Dankeschön an euch beide. :)

Viele Grüße Hoppel
Server: Openmediavault, XEON E3-1240L-v5, Supermicro X11SSH-CTF, 64GB ECC RAM, SSD, RAID-Z2
Homebridge | Alexa | Yowsup
Homematic | HomeConnect | MQTT | Philips Hue | Sonos | Unifi Network & Protect | vbus | Xiaomi

Miche01

Hi Sven,
ich bin ein neuer Nutzer FHEM und würde gerne meinen Heizkessel Fröling SP 40 Dual mit Lambdatronic S 3200 auslesen. Habe Heizungsrechner und FHEM auf einem raspberry. Wo finde ich denn das Skript p4tomqtt.pl.

Danke für deine Rückmeldung.

hoppel118

Moin,

dieses Script wird so nicht mehr benötigt. Der p4d-Entwickler (@horchi) hat mqtt mittlerweile fest integriert. Hast du p4d bereits eingerichtet?

Lass uns in dem anderen Thread weitermachen. Da gibt es eine gewisse Aufmerksamkeit von Leuten/Entwicklern, die sich mit mqtt auskennen:

https://forum.fhem.de/index.php/topic,110401.msg

Viele Grüße Hoppel
Server: Openmediavault, XEON E3-1240L-v5, Supermicro X11SSH-CTF, 64GB ECC RAM, SSD, RAID-Z2
Homebridge | Alexa | Yowsup
Homematic | HomeConnect | MQTT | Philips Hue | Sonos | Unifi Network & Protect | vbus | Xiaomi