Sieht für mich danach aus, als wäre das epel Repo nicht richtig installiert.
Das php72-php-devel kannst du mal mit php-devel ersetzen.
Ankündigung
Einklappen
Keine Ankündigung bisher.
MQTT API Server und MQTT Clients - LBS19001051 - LBS19001054
Einklappen
X
-
Nachdem ich nach einen crash den alten MQTT Client unter Centos 6.5 nicht mehr zu laufen bekam, habe ich Heute Centos 7.7.1908 installiert und dann nach der Anleitung im aktuell MQTT Client die addons zu installieren
yum -y install epel-release php-process git gcc make lief durch
yum -y install mosquitto mosquitto-devel php72-php-devel
Irgend eine Idee?yum -y install mosquitto mosquitto-devel php72-php-devel
Failed to set locale, defaulting to C
Extra Packages for Enterprise Linux 8 - x86_64 865 kB/s | 4.3 MB 00:05
Last metadata expiration check: 0:00:07 ago on Fri Dec 20 16:28:45 2019.
No match for argument: mosquitto
No match for argument: mosquitto-devel
No match for argument: php72-php-devel
Error: Unable to find a match
Einen Kommentar schreiben:
-
Nanosonde
Ich bekomme bei Version 0.2 des LBS häufig folgende Fehler:Zitat von Nanosonde Beitrag anzeigenich wollte Euch nur kurz den neuen LBS "MQTT Topic Parser" vorstellen: https://service.knx-user-forum.de/?c...ad&id=19001078
Müsste man beim Zugriff über den Index von subtopics_filter vielleicht prüfen wie groß das array ist, damit es keinen ungültigen Zugriff gibt?2019-12-16 20:10:45 698487 ? 26849 Datei: /usr/local/edomi/www/data/liveproject/lbs/LBS19001078.php | Fehlercode: 8 | Zeile: 52 | Undefined offset: 2 ERROR
2019-12-16 20:10:45 698676 ? 26849 Datei: /usr/local/edomi/www/data/liveproject/lbs/LBS19001078.php | Fehlercode: 8 | Zeile: 63 | Undefined offset: 2 ERROR
Gleiches gilt auch für den 19001079.
Danke und Gruß
HardyZuletzt geändert von harry7922; 19.12.2019, 21:24.
Einen Kommentar schreiben:
-
Genau. Alle Werte und Multi-Level (siehe unten)Zitat von BadWicky Beitrag anzeigen1. Subscribe Client
p4d2mqtt/sensor/# die Raute steht für alle Werte die auf den Client rein kommen?
+ ist das MQTT Symbol für Single-Level WildcardZitat von BadWicky Beitrag anzeigenfür was steht das +
# ist das MQTT Symbol für Multi-Level Wildcard
Mehr Details dazu hier: https://blog.doubleslash.de/mqtt-fuer-dummies/Es existiert auch ein Mechanismus, mit dem sich das Ordnersystem der Topics gruppieren lässt: sogenannte Single-Level-Wildcards(+) und Multi-Level-Wildcards(#)
Die Single-level-Wildcard (+) ersetzt ein Element eines Topics durch eine Wildcard, sprich: Ein Subscriber zum topic „5OG/+/Temperatursensor/Temperatur“ würde alle Nachrichten erhalten, die den drei angegebenen Leveln entsprechen, ungeachtet der Wildcard. Nachrichten zu beispielsweise „5OG/Zimmer2/Temperatursensor/Temperatur“ oder „5OG/Flur/Temperatursensor/Temperatur“ würden jetzt empfangen werden.
Die Multi-level-Wildcard (#) ersetzt die ganze folgende Baumstruktur. Eine Subscription zum Topic „5OG/#“ würde absolut alle Nachrichten empfangen, die mit „5OG/“ beginnen, auch z.Bsp „5OG/Flur/Tischkicker/Schummelmodul/Status“
Wildcards lassen sich beliebig kombinieren, beispielsweise „+/+/Temperatursensor/#“ für alle Temperatursensor-Daten aus allen Stöcken und Zimmern.
Einen Kommentar schreiben:
-
jonofe
Vielen Dank für Deine Hilfe!!,
Hat gefruchtet und es funktioniert fürs erste alles einwandfrei.
Zum Verständnis, weil ich es ja auch verstehen will.
1. Subscribe Client
p4d2mqtt/sensor/# die Raute steht für alle Werte die auf den Client rein kommen?
2. Praser
p4d2mqtt/sensor/+/state für was steht das + (für mein Verständnis steht das + ebenfalls für alle Werte die vom Client kommen richtig?)
wieso hier + und nicht #?
Gruß
Einen Kommentar schreiben:
-
Am besten so wie in der Hilfe meines LBS beschrieben. Mit dem Subscribe Client auf p4d2mqtt/sensor/# subscribenZitat von BadWicky Beitrag anzeigenich habe keine Ahnung wie ich das in meinem Anwendungsfall realisieren soll.
A6 vom Subscribe Client mit E1 vom MQTT Parser verwenden. (per iKO)
E2 des MQTT Parsers auf p4d2mqtt/sensor/+/state setzen.
E6 des MQTT Parsers z.B. auf: Betriebsstunden_0x62
E7-E10 auf weitere Sensornamen
An A4-A8 kommen dann die Payloads der enstprechenden Sensoren (E6-E10) raus.
Da dies JSON Datenstrukturen sind, musst du diese auf einen JSON Extractor LBS geben, d.h. auf E1 des 19001208 LBS.
An E2 gibst du dann das Feld des JSON ein, welches du haben willst. Wenn ich das aufgeklappte JSON deines Screenshots richtig interpretiere, muss du nur value auf E2 geben. Dann sollte an A2 der richtige Dezimalwert des Sensor erscheinen.
Du benötigst aber auf jeden Fall einen JSON Extractor ja Sensor.
D.h. Insgesamt:
- einen Subscribe Client
- für je 5 Sensoren einen MQTT Parser
- einen JSON Extractor je Sensor.
Einen Kommentar schreiben:
-
jonofe,
ich habe keine Ahnung wie ich das in meinem Anwendungsfall realisieren soll.
Ich habe dir mal zur Verdeutlichung einen Screenshot beigefügt bei dem ein Teil der Sensorwerte ersichtlich ist die geliefert werden.
Weiter habe ich Dir mal meine versuch ebenfalls in einem Screenshot beigefügt, hier habe ich mal zwei Subscribe Client verwendet und bei jedem client unter E9 dann die Sensorwerte eingetragen.
Unten auf dem Screensoht habe ich mal den Praser eingefügt, keine Ahnung wo und wie ich da was einstellen muss.
Ach ja was ich Dich noch fragen wollte wie bekomme ich da am Ausgang A2 des Subscribe Client einen sauberen Dezimalwert raus?
Kannst Du mir vielleicht ein paar Tipps geben.
Guß
Angehängte Dateien
Einen Kommentar schreiben:
-
Würde es denn etwas bringen, wenn sie alle zusammen kommen würden? Nein, geht ja auch nicht, da die Sensoren ja dann, senden, wenn sie neue Daten haben. Das ist halt der Sinn von MQTT.Zitat von BadWicky Beitrag anzeigenkommen alle Sensorwerte die gesendet werden nacheinander, dies bringt mir jedoch nichts
Zitat von BadWicky Beitrag anzeigenMuss ich jetzt bei jedem Sensor Wert der bei beim MQTT Subscribe Client ankommt, diesen in das Subscribe Feld mit deinem jeweiligen Namen eintragen?Du könntest einfach den MQTT Parser LBS verwenden (19001207). Der ist genau dafür gemacht.Zitat von BadWicky Beitrag anzeigenoder gibt es eine andere Möglichkeit?Zuletzt geändert von jonofe; 16.12.2019, 13:49.
Einen Kommentar schreiben:
-
jonofe,
bin jetzt gestern endlich soweit gekommen das der Subscribe Client funktioniert und mir die Sensorwerte der Heizung sendet.
Mein Problem wenn ich # im Subscribe Client eintrage, kommen alle Sensorwerte die gesendet werden nacheinander, dies bringt mir jedoch nichts wenn ich die Werte in der edomi Oberfläche einzeln dargestellt haben möchte.
Muss ich jetzt bei jedem Sensor Wert der bei beim MQTT Subscribe Client ankommt, diesen in das Subscribe Feld mit deinem jeweiligen Namen eintragen?
Dies würde dann im Umkehrschluss bedeuten, dass ich für jeden Sensorwerte einen eigenen Subscribe Client benötige, oder gibt es eine andere Möglichkeit?
Gruß
Einen Kommentar schreiben:
-
Intressant.Zitat von jonofe Beitrag anzeigenCode:[COLOR=#FF0000]centos-release-7-7.1908.0.el7.centos.x86_64[/COLOR]

Das Image das Geert auf Edomi.de verlinkt gibt folgendes aus:
Ist damit auch mein Fehler aus Post #412 zu erklären?Code:[root@edomi ~]# rpm -q centos-release centos-release-7-6.1810.2.el7.centos.x86_64
Einen Kommentar schreiben:
-
LBS gemäß Hilfe installieren. Sollte dann funktionieren. Wenn nicht, einfach hier melden.Code:[root@edomi ~]# rpm -q centos-release [COLOR=#FF0000]centos-release-7-7.1908.0.el7.centos.x86_64[/COLOR]
Einen Kommentar schreiben:
-
Ok danke und so vorgehen wie im lbs beschrieben mit der Installation. CentOs 7.6 oder 7.7 oder ...
oder geht jede Version von der 7 ner Version
Einen Kommentar schreiben:
-
CentOS7
Wenn du Daten von anderen Systemen via MQTT in EDOMI übernehmen willst, dann ist der Subscribe Client der richtige LBS
Einen Kommentar schreiben:


Einen Kommentar schreiben: