NEWS
[Gelöst] MQTT-Verbindung via Python script
-
@steinmetz_4 sagte in MQTT-Verbindung:
Das Python script soll senden (temperatur) an IoBroker MQTT
und der ist als Broker konfiguriert?
und unter der IP@steinmetz_4 sagte in MQTT-Verbindung:
192.168.178.185
zu erreichen?
Wen meinst Du?
MQTT Adapter? läuft in IoBroker unter 192.168.178.185 -
Wen meinst Du?
MQTT Adapter? läuft in IoBroker unter 192.168.178.185@steinmetz_4 sagte in MQTT-Verbindung:
MQTT Adapter
ja, den!
@homoran sagte in MQTT-Verbindung:
der ist als Broker konfiguriert?
als Client nutzt er dir nichts.
-
@steinmetz_4 sagte in MQTT-Verbindung:
MQTT Adapter
ja, den!
@homoran sagte in MQTT-Verbindung:
der ist als Broker konfiguriert?
als Client nutzt er dir nichts.
-
@steinmetz_4 sagte in MQTT-Verbindung:
Ich denke schon.
jepp! dann ist die Frage auch eindeutig geklärt
-
@steinmetz_4 sagte in MQTT-Verbindung:
Ich denke schon.
jepp! dann ist die Frage auch eindeutig geklärt
Ich kann Dir nicht mehr sagen.
Wenn ich wüsste was falsch ist, würde ich hier nicht fragen.:man-shrugging:
-
Ich kann Dir nicht mehr sagen.
Wenn ich wüsste was falsch ist, würde ich hier nicht fragen.:man-shrugging:
@steinmetz_4 ist das das aktive Skript???

-
@steinmetz_4 ist das das aktive Skript???

Sorry, nein !
ich tüftel an allen Ecken und Enden!#
aktuel:
#!/usr/bin/python3 import sys import paho.mqtt.client as mqtt import ssl # set the variables # Path to the Sensor systempath # 28-01142f7ba71a has to be changed to you sensor path! sensor = '/sys/bus/w1/devices/28-3c01f096929e/w1_slave' broker='192.168.178.185' port=1879 publish_topic="house/pi-ds18b20" clientid='python-mqtt-ds18b20' username='Tom' password='Atomameise' insecure=True qos=1 retain_message=True # do the stuff def readTempSensor(sensorName) : f = open(sensorName, 'r') lines = f.readlines() f.close() return lines def readTempLines(sensorName) : lines = readTempSensor(sensorName) while lines[0].strip()[-3:] != 'YES': time.sleep(0.2) lines = readTempSensor(sensorName) temperaturStr = lines[1].find('t=') if temperaturStr != -1 : tempData = lines[1][temperaturStr+2:] tempCelsius = float(tempData) / 1000.0 tempKelvin = 273 + float(tempData) / 1000 tempFahrenheit = float(tempData) / 1000 * 9.0 / 5.0 + 32.0 return [tempCelsius, tempKelvin, tempFahrenheit] #MQTT Connection client=mqtt.Client(clientid) client.username_pw_set(username, password) client.tls_set(cert_reqs=ssl.CERT_NONE) #no client certificate needed client.tls_insecure_set(insecure) client.connect(broker, port) client.loop_start() client.publish("{}/temperature".format(publish_topic),"{:.2f}".format(readTempLines(sensor)[0]),qos,retain_message) client.disconnect() client.loop_stop()Mfg
-
@steinmetz_4 sagte in MQTT-Verbindung:
Ich denke schon.
jepp! dann ist die Frage auch eindeutig geklärt
@homoran sagte in MQTT-Verbindung:
@steinmetz_4 sagte in MQTT-Verbindung:
Ich denke schon.
jepp! dann ist die Frage auch eindeutig geklärt
Verzeiht
Ich weiß, dass ich nichts weiß (https://de.wikipedia.org/wiki/Ich_weiß,_dass_ich_nichts_weiß)
-
Sorry, nein !
ich tüftel an allen Ecken und Enden!#
aktuel:
#!/usr/bin/python3 import sys import paho.mqtt.client as mqtt import ssl # set the variables # Path to the Sensor systempath # 28-01142f7ba71a has to be changed to you sensor path! sensor = '/sys/bus/w1/devices/28-3c01f096929e/w1_slave' broker='192.168.178.185' port=1879 publish_topic="house/pi-ds18b20" clientid='python-mqtt-ds18b20' username='Tom' password='Atomameise' insecure=True qos=1 retain_message=True # do the stuff def readTempSensor(sensorName) : f = open(sensorName, 'r') lines = f.readlines() f.close() return lines def readTempLines(sensorName) : lines = readTempSensor(sensorName) while lines[0].strip()[-3:] != 'YES': time.sleep(0.2) lines = readTempSensor(sensorName) temperaturStr = lines[1].find('t=') if temperaturStr != -1 : tempData = lines[1][temperaturStr+2:] tempCelsius = float(tempData) / 1000.0 tempKelvin = 273 + float(tempData) / 1000 tempFahrenheit = float(tempData) / 1000 * 9.0 / 5.0 + 32.0 return [tempCelsius, tempKelvin, tempFahrenheit] #MQTT Connection client=mqtt.Client(clientid) client.username_pw_set(username, password) client.tls_set(cert_reqs=ssl.CERT_NONE) #no client certificate needed client.tls_insecure_set(insecure) client.connect(broker, port) client.loop_start() client.publish("{}/temperature".format(publish_topic),"{:.2f}".format(readTempLines(sensor)[0]),qos,retain_message) client.disconnect() client.loop_stop()Mfg
@steinmetz_4
Wenn ich die Fehlermeldung richtig interpretiere, versucht dein Skript eine verschlüsselte Verbindung, die du hier:client.tls_set….auch so aktivierst. Dein Broker ist aber nicht mit SSL konfiguriert.
Schalte SSL im Skript ab.Und: Du musst ruhiger werden … :-)
-
@steinmetz_4
Wenn ich die Fehlermeldung richtig interpretiere, versucht dein Skript eine verschlüsselte Verbindung, die du hier:client.tls_set….auch so aktivierst. Dein Broker ist aber nicht mit SSL konfiguriert.
Schalte SSL im Skript ab.Und: Du musst ruhiger werden … :-)
Tada, es funktioniert!
Ich danke Dir!
War ein holpriger Weg aber es läuft...Habe beide Punkte auskommentiert.

P.S. Ich bin die Ruhe in Person...
Mfg
Tom
Hey! Du scheinst an dieser Unterhaltung interessiert zu sein, hast aber noch kein Konto.
Hast du es satt, bei jedem Besuch durch die gleichen Beiträge zu scrollen? Wenn du dich für ein Konto anmeldest, kommst du immer genau dorthin zurück, wo du zuvor warst, und kannst dich über neue Antworten benachrichtigen lassen (entweder per E-Mail oder Push-Benachrichtigung). Du kannst auch Lesezeichen speichern und Beiträge positiv bewerten, um anderen Community-Mitgliedern deine Wertschätzung zu zeigen.
Mit deinem Input könnte dieser Beitrag noch besser werden 💗
Registrieren Anmelden

