MQTTDevice Version 2 & Platine

chrs1978
Posting Junior
Posting Junior
Beiträge: 88
Registriert: Samstag 20. März 2021, 13:15

Re: MQTTDevice Version 2 & Platine

#201

Beitrag von chrs1978 »

No Module named paho hatte ich nie. Das hat immer funktioniert. Funktioniert der Sensorwert bei Dir mit dem Setup auf Buster ?
Benutzeravatar
Innuendo
Posting Freak
Posting Freak
Beiträge: 1938
Registriert: Freitag 2. März 2018, 09:43

Re: MQTTDevice Version 2 & Platine

#202

Beitrag von Innuendo »

Ja ... mittlerweile schon.
Probiere bitte das Plugin aus dem ZIP. Aus dem JSON kam der payload für den Sensor mit dem Fork für pyth3 nicht an. Auf meinem frischen Buster musste ich aber den symlink paho für Python3 erstellen. Ohne den Link wurden die Module nicht gefunden.
Falls es rumzickt bitte cbpi stoppen und im Verzeichnis mit sudo ./run.py manuell starten. Bei meinem Testsystem wird

Code: Alles auswählen

payload b'{"Sensor":{"Name":"Temperatur","Value":22.75,"Type":"1-wire"}}'
ausgegeben. Das Plugin im Anhang ist nur ein Test!
Innu
Dateianhänge
cbpi-mqttPub.zip
(2.38 KiB) 58-mal heruntergeladen
chrs1978
Posting Junior
Posting Junior
Beiträge: 88
Registriert: Samstag 20. März 2021, 13:15

Re: MQTTDevice Version 2 & Platine

#203

Beitrag von chrs1978 »

Sieht gut aus :thumbsup

Code: Alles auswählen

pi@raspberrypi:~/craftbeerpi3 $ py3/bin/python3 run.py
INIT DB
MQTT Connected0
/home/pi/craftbeerpi3/modules/buzzer/__init__.py:19: RuntimeWarning: This channel is already in use, continuing anyway.  Use GPIO.setwarnings(False) to disable warnings.
  GPIO.setup(self.gpio, GPIO.OUT)
payload b'{"state": "on", "power": 100}'
'NoneType' object has no attribute 'get'
/home/pi/craftbeerpi3/modules/base_plugins/gpio_actor/__init__.py:61: RuntimeWarning: This channel is already in use, continuing anyway.  Use GPIO.setwarnings(False) to disable warnings.
  GPIO.setup(int(self.gpio), GPIO.OUT)
/home/pi/craftbeerpi3/modules/base_plugins/gpio_actor/__init__.py:31: RuntimeWarning: This channel is already in use, continuing anyway.  Use GPIO.setwarnings(False) to disable warnings.
  GPIO.setup(int(self.gpio), GPIO.OUT)
payload b'{"Sensor":{"Name":"Wasser","Value":20.75,"Type":"1-wire"}}'
payload b'{"Sensor":{"Name":"Wasser","Value":20.75,"Type":"1-wire"}}'
payload b'{"Sensor":{"Name":"Wasser","Value":20.75,"Type":"1-wire"}}'
Im Stdout werden zwar noch andere Fehler geworfen, aber die hängen mit cbpi3 zusammen.
Die GPIOs werden beim Start von CBPI3 über Systemd inizialisiert. Wenn ich das ganze dann stoppe und wieder per shell starte, dann kommt es wahrscheinlich zu dem Fehler aus der gpio lib. Aber das ist jetzt kein Problem.

Die Temp kommt jetzt im UI an.
Das Paho-Module Problem hatte ich wohl nicht, weil alles im selben Venv läuft.

Falls ich iwas mit CBPI4 testen soll, sag einfach Bescheid. Ich habe das aktuelle CBPI4 von Manuell lauffähig in einem weiteren Venv.
Zuletzt geändert von chrs1978 am Freitag 16. April 2021, 09:24, insgesamt 1-mal geändert.
Benutzeravatar
Innuendo
Posting Freak
Posting Freak
Beiträge: 1938
Registriert: Freitag 2. März 2018, 09:43

Re: MQTTDevice Version 2 & Platine

#204

Beitrag von Innuendo »

In CBPi4 kann mqtt in der config.yaml aktiviert werden. Info aus facebook
Features
Publish Sensor Updates
Push Sensor Data to CBPi via MQTT
Switch Actor via MQTT
Puhlish Actor Updates via MQTT
Publish Kettle Updates
Publish Notification
Auf meinem RaspberryPi schaut die config.yaml so aus:

Code: Alles auswählen

name: CraftBeerPi
version: 4.0.8
index_url: /cbpi_ui/static/index.html
port: 8000
mqtt: true
mqtt_host: localhost
mqtt_port: 1883
mqtt_username: ""
mqtt_password: ""
username: cbpi
password: 123
plugins:
- cbpi4ui
Im Ordner Extensions gibt es bereits eine mqtt_sensor. Für Aktoren sehe ich (noch) nix. Den Transfer von 3 nach 4 muss ich mir in Ruhe ansehen.
chrs1978
Posting Junior
Posting Junior
Beiträge: 88
Registriert: Samstag 20. März 2021, 13:15

Re: MQTTDevice Version 2 & Platine

#205

Beitrag von chrs1978 »

Das builtin MQTT von cbpi4 sendet schonmal meine Sensor / Actor Daten.

Code: Alles auswählen

cbpi/actor/jXZzvZGJc49W3nY986M9M9 {"id": "jXZzvZGJc49W3nY986M9M9", "name": "Heizung", "type": "GPIOActor", "props": {"GPIO": 14, "Inverted": "No"}, "state2": "HELLO WORLD", "state": true}
cbpi/actor/dCUhBQGqqBwEhdgbJkTCdj {"id": "dCUhBQGqqBwEhdgbJkTCdj", "name": "R\u00fchrwerk", "type": "GPIOActor", "props": {"GPIO": 22, "Inverted": "No"}, "state2": "HELLO WORLD", "state": true}
cbpi/sensor/YxLxHc4dhPwGoo4wAyMocH/udpate {"id": "YxLxHc4dhPwGoo4wAyMocH", "value": 20.06}
Benutzeravatar
Innuendo
Posting Freak
Posting Freak
Beiträge: 1938
Registriert: Freitag 2. März 2018, 09:43

Re: MQTTDevice Version 2 & Platine

#206

Beitrag von Innuendo »

chrs1978 hat geschrieben: Freitag 16. April 2021, 09:18

Code: Alles auswählen

pi@raspberrypi:~/craftbeerpi3 $ py3/bin/python3 run.py
INIT DB
MQTT Connected0
... schnippschnapp...
payload b'{"Sensor":{"Name":"Wasser","Value":20.75,"Type":"1-wire"}}'
Das Paho-Module Problem hatte ich wohl nicht, weil alles im selben Venv läuft.
Bis auf das fehlende Leerzeichen zwischen Connected und dem Returncode (0) schaut es ordentlich aus. Die Python Abhängigkeiten hast Du in Deinem virtuell environment festgelegt. Vlt die bessere Lösung, aber da muss ich mich noch einlesen.

Ich werde aber nicht mehr viel Zeit in die modifizierten CBPi3 Forks investieren. Auf github lege hinterlege ich gern die Testversion, den Hinweis eventlet==0.30.2 sowie den symlink für paho nach python3. Damit sollte es funktionieren.

Wenn mrhyde Recht behält und CBPi4 auf "der Zielgeraden" ist, dann klingt die Aufgabe CBPi4 mit MQTTDevice verbinden interessanter.
Benutzeravatar
Innuendo
Posting Freak
Posting Freak
Beiträge: 1938
Registriert: Freitag 2. März 2018, 09:43

Re: MQTTDevice Version 2 & Platine

#207

Beitrag von Innuendo »

@chrs1978: Kannst Du in CBPi4 statt "GPIOActor" auch den Typ "MQTTActor" auswählen und ein Topic angeben? Würde mich sehr verwundern, weil wie oben geschrieben nur die Extension für Sensoren vorhanden ist. Dein Sensor scheint aber auch ein verdrahteter zu sein oder? Zumindest ist er kein MQTTSensor
chrs1978
Posting Junior
Posting Junior
Beiträge: 88
Registriert: Samstag 20. März 2021, 13:15

Re: MQTTDevice Version 2 & Platine

#208

Beitrag von chrs1978 »

Ja, ich bin jetzt schon an CBPI4 :) Ich mache das iwie parallel, weil ich eh nicht brauen kann. Wenn ich hier noch einen Gäreimer hinstelle, wirft mich mein Mann raus. Muss eh schon die Einkocher verstecken können :-D Also dass sie halt aufgeräumt sind. Dieser "W-A-F" trifft halt auch bei mir zu :-)

Also wieder CBPI4. Einen Sensor kann man sogar anlegen, nur eben noch keinen Aktor.
Das Sensor feature reagiert auch iwie aufs MQTT_Device2 und wirft einen Fehler.

Code: Alles auswählen

could not convert string to float: '{"Sensor":{"Name":"Wasser","Value":20.25,"Type":"1-wire"}}'
Aber zumindest sieht CBPI4 da schonmal was. Sieht schonmal gut aus.

Venv ist immer zu empfehlen. Ich mache das schon seit langem für den Pokemonscanner "MAD" und "Rocketmad" Das sind zwei Python3 Programme und wir hatten da immer etwas fuckery mit den Depencies zwischen den beiden. Also habe ich beide in ein eigenses Venv verbannt und seitdem ist Ruhe :-)
Kostet halt Speicherplatz, aber beim Scanner ist das egal, weil der auf einem VPS mit 200GB SSD in München läuft.
chrs1978
Posting Junior
Posting Junior
Beiträge: 88
Registriert: Samstag 20. März 2021, 13:15

Re: MQTTDevice Version 2 & Platine

#209

Beitrag von chrs1978 »

Innuendo hat geschrieben: Freitag 16. April 2021, 09:37 @chrs1978: Kannst Du in CBPi4 statt "GPIOActor" auch den Typ "MQTTActor" auswählen und ein Topic angeben? Würde mich sehr verwundern, weil wie oben geschrieben nur die Extension für Sensoren vorhanden ist. Dein Sensor scheint aber auch ein verdrahteter zu sein oder? Zumindest ist er kein MQTTSensor
Der eine Sensor ist einer der direkt am PI hängt. Der andere "Wasser" hängt am MQTT_Device. Einen Aktor kann ich nicht erstellen. Da gibts keine option im UI betreffend MQTT.


Ich habe CBPI4 übrigens manuell installiert. Also per Git Clone und Pip3 im Venv. Beim starten fehlen dann noch paar Abhängikeiten, die man nachinstellieren muss. Ich habe einen Post dazu hier erstellt. Zum testen ist mir das iwie lieber als es komplett per Pip zu installieren. Ich habe gerne das Repo im homedir :-)
chrs1978
Posting Junior
Posting Junior
Beiträge: 88
Registriert: Samstag 20. März 2021, 13:15

Re: MQTTDevice Version 2 & Platine

#210

Beitrag von chrs1978 »

Im mqtt_sensor habe ich jetzt ml float gegen str getauscht und im CBPI kommt die Payload an. Natürlich RAW Payload, weil der Dictionary Filter fehlt.

Code: Alles auswählen

self.value = float(message)

Code: Alles auswählen

self.value = str(message)

CBPI4 zeigt bereits folgendes beim Sesor im UI

{"Sensor":{"Name":"Wasser","Value":20.25,"Type":"1-wire"}}
Unbenannt.png
Unbenannt.png (8.14 KiB) 6405 mal betrachtet
Benutzeravatar
Innuendo
Posting Freak
Posting Freak
Beiträge: 1938
Registriert: Freitag 2. März 2018, 09:43

Re: MQTTDevice Version 2 & Platine

#211

Beitrag von Innuendo »

@chrs1978: Ich kann nur raten. Auf dem Bild MQTTExplorer auf facebook steht im payload {"id": "xyz", "value": 10}
Im JSON Paket wird der Sensorwert nach value serialisiert. Woher die ID kommt und wie sich der Scrabble-Wert zusammensetzt, weiß ich nicht. Vielleicht ist es nur ein zufällig gewählter eindeutiger Name. Dann müsste in der MQTTDevice Firmware "Name" durch "ID" und "Value" durch "value" ersetzt werden. (in der Datei 2_Sensoren.ino die Zeilen 118, 121 und 125).
Innu
chrs1978
Posting Junior
Posting Junior
Beiträge: 88
Registriert: Samstag 20. März 2021, 13:15

Re: MQTTDevice Version 2 & Platine

#212

Beitrag von chrs1978 »

Ich glaube dass einfach nur das Dictionary fehlt. So wie es in der CBPI3 Version vom MQTT_Device2 vorhanden ist. Dort gibt man ja dann "Sensor.Value" ein und schon gehts.

Ich wollte nur grundsätzlich testen, ob CBPI4 irgendwie auf die MQTT Daten vom MQTT_Device reagiert. Das tut es ja schonmal.
Wenn Du irgendwann Dein Plugin auf V4 portierst, kann ich es gerne mit cbpi4 dann testen.

Diese ID betrifft nur die lokalen Sensoren und Aktoren. Vielleicht ist das sowas ähnliches wie eine UUID um eine eindeutige ID zu gewährleisten, falls jemand mal zwei aktoren mit dem Namen Heizung oder Rührwerk drin hat.

Code: Alles auswählen

cbpi/sensor/YxLxHc4dhPwGoo4wAyMocH/udpate {"id": "YxLxHc4dhPwGoo4wAyMocH", "value": 20.38}
cbpi/sensor/ir2Y34DYHsVtci9wXeBxFm/udpate {"id": "ir2Y34DYHsVtci9wXeBxFm", "value": "{\"Sensor\":{\"Name\":\"Wasser\",\"Value\":20.25,\"Type\":\"1-wire\"}}"}
cbpi/actor/jXZzvZGJc49W3nY986M9M9 {"id": "jXZzvZGJc49W3nY986M9M9", "name": "Heizung", "type": "GPIOActor", "props": {"GPIO": 14, "Inverted": "No"}, "state2": "HELLO WORLD", "state": true}
cbpi/actor/dCUhBQGqqBwEhdgbJkTCdj {"id": "dCUhBQGqqBwEhdgbJkTCdj", "name": "R\u00fchrwerk", "type": "GPIOActor", "props": {"GPIO": 22, "Inverted": "No"}, "state2": "HELLO WORLD", "state": true}
Das sendet CBPI dann wiederum per MQTT Pub.

Zeile 1,3,4 sind lokale Sensoren / Aktoren.
Zeile 2 ist der Sensor am MQTT Device. CBPI verarbeitet den schon. Aber da CBPI noch nicht weiß, was in der Payload interessant ist, sendet es die komplette Payload wieder raus.
chrs1978
Posting Junior
Posting Junior
Beiträge: 88
Registriert: Samstag 20. März 2021, 13:15

Re: MQTTDevice Version 2 & Platine

#213

Beitrag von chrs1978 »

Ich habe die Sensorclass vom MQTT Plugin in V4 mal etwas angepasst, damit es mit dem MQTT_Device2 Sensor funktioniert.
Ist eher ein Dirty Hack um einfach mal zu sehen was passiert. Der Code ist vom MQTT_Device2 Plugin und vom Originalen. Also nicht von mir. Nur ewas Cut&Paste und das nicht wirklich sauber.
Geht ja nur darum, was ankommt und was wieder rausgehen muss :-)

Code: Alles auswählen

<snip ......>

class MQTTSensor(CBPiSensor):

    async def on_message(self, message):
        try:
            self.value = str(message)
            self.data_payload = "Sensor.Value"
            self.payload_text = self.data_payload.split('.')

            self.log_data(self.value)

            json_data = json.loads(message)
            val = json_data
            if self.payload_text is not None:
                    for key in self.payload_text:
                        val = val.get(key, None)

            self.push_update(val)
        except Exception as e:
            print(e)

    def __init__(self, cbpi, id, props):
        super(MQTTSensor, self).__init__(cbpi, id, props)
        self.mqtt_task = self.cbpi.satellite.subcribe(self.props.Topic, self.on_message)
        self.value: int = 0

    async def run(self):
        while self.running:
            await asyncio.sleep(1)

    def get_state(self):
        return dict(value=self.value)

    async def on_stop(self):
        if self.mqtt_task.done() is False:
            self.mqtt_task.cancel()
            try:
                await self.mqtt_task
            except asyncio.CancelledError:
                pass

<snip.......>
Benutzeravatar
Innuendo
Posting Freak
Posting Freak
Beiträge: 1938
Registriert: Freitag 2. März 2018, 09:43

Re: MQTTDevice Version 2 & Platine

#214

Beitrag von Innuendo »

Checkliste Installation CBPi3 auf aktuellem RaspberryPi OS (Buster) mit Python3

Edit: CBPi3 git Repositoy auf mrhyde geändert.
Dateianhänge
Raspberrypi_Installation.zip
(1.69 KiB) 72-mal heruntergeladen
Zuletzt geändert von Innuendo am Samstag 17. April 2021, 06:52, insgesamt 1-mal geändert.
chrs1978
Posting Junior
Posting Junior
Beiträge: 88
Registriert: Samstag 20. März 2021, 13:15

Re: MQTTDevice Version 2 & Platine

#215

Beitrag von chrs1978 »

Low Voltage sollte man nicht unterdrücken, sondern immer versuchen zu loszuwerden. Stärkeres Netzteil z.B.

Das ist der SD Killer schlechthin. Zumindet auf PI 2B (+) Ich spreche da aus leidiger Erfahrung.
klauslilie
Posting Junior
Posting Junior
Beiträge: 19
Registriert: Sonntag 21. Februar 2016, 17:03
Wohnort: Ascheberg

Re: MQTTDevice Version 2 & Platine

#216

Beitrag von klauslilie »

Vielen Dank für eure Hilfe 👏
@skybandit und @innuendo

Jetzt läuft es perfekt 👌
Benutzeravatar
Innuendo
Posting Freak
Posting Freak
Beiträge: 1938
Registriert: Freitag 2. März 2018, 09:43

Re: MQTTDevice Version 2 & Platine

#217

Beitrag von Innuendo »

Die Checkliste habe ich heute quick'n'dirty für mich zusammengestellt. Wenn Du den Faden durchblätterst findest Du immer wiederkehrende Fragen zur Installation und Konfiguration. Auch von Dir. Wenn Du das 7" Display am internen 5V Anschluss an einem 3B+ betreibst, kannst Du auch ein 20A Netzteil anschließen. Die Warnung low voltage kommt dauerhaft immer wieder. Ich betreibe einen 3B+ ohne Kühlkörper mit original Netzteil seit 2 Jahren mit dieser Einstellung. Verrückterweise ist mit 5.1V und 3A ausreichend Stromstärke vorhanden. Mit der Checkliste ist CBPi3 auf aktuellem Rasp OS in etwa 1h installiert. Mit Influx und Grafana 65min:30sec. Du musst den avoid_warnings nicht übernehmen und so steht auch so in der TXT. Gut? Nö! Wichtig? Nä! Hilfreich? Hmjo ;-)
Innu
Edit: 5.1V u. 3A
Zuletzt geändert von Innuendo am Sonntag 18. April 2021, 08:13, insgesamt 1-mal geändert.
Benutzeravatar
Innuendo
Posting Freak
Posting Freak
Beiträge: 1938
Registriert: Freitag 2. März 2018, 09:43

Re: MQTTDevice Version 2 & Platine

#218

Beitrag von Innuendo »

klauslilie hat geschrieben: Freitag 16. April 2021, 19:22 Vielen Dank für eure Hilfe 👏
@skybandit und @innuendo

Jetzt läuft es perfekt 👌
Von Dir ist eventlet==0.30.2 mit eingeflossen.
chrs1978
Posting Junior
Posting Junior
Beiträge: 88
Registriert: Samstag 20. März 2021, 13:15

Re: MQTTDevice Version 2 & Platine

#219

Beitrag von chrs1978 »

Innuendo hat geschrieben: Freitag 16. April 2021, 19:31 Die Checkliste habe ich heute quick'n'dirty für mich zusammengestellt. Wenn Du den Faden durchblätterst findest Du immer wiederkehrende Fragen zur Installation und Konfiguration. Auch von Dir. Wenn Du das 7" Display am internen 5V Anschluss an einem 3B+ betreibst, kannst Du auch ein 20A Netzteil anschließen. Die Warnung low voltage kommt dauerhaft immer wieder. Ich betreibe einen 3B+ ohne Kühlkörper mit original Netzteil seit 2 Jahren mit dieser Einstellung. Verrückterweise ist mit 5.2mA ausreichend Stromstärke vorhanden. Mit der Checkliste ist CBPi3 auf aktuellem Rasp OS in etwa 1h installiert. Mit Influx und Grafana 65min:30sec. Du musst den avoid_warnings nicht übernehmen und so steht auch so in der TXT. Gut? Nö! Wichtig? Nä! Hilfreich? Hmjo ;-)
Innu
Klar :thumbsup

Bei mir läuft V3 seit ca 1 Woche, aber jetzt bin ich eh auf V4. Hab den MQTT Sensor jetzt in Gang gebracht und habe die Temperatur von meinem Gäreimer. Mehr wollte ich nicht.
Benutzeravatar
Innuendo
Posting Freak
Posting Freak
Beiträge: 1938
Registriert: Freitag 2. März 2018, 09:43

Re: MQTTDevice Version 2 & Platine

#220

Beitrag von Innuendo »

Version 2.53
Kleines Mini-Update im Modul Visualisierung. Die Visualisierung bleibt nun auch bei Neustart aktiv. Die Sud-ID wird gespeichert und beim Neustart eingelesen. Die Visualisierung muss ab 2.53 dann entsprechend manuell gestoppt werden, sobald keine Daten mehr benötigt werden. Ein kurzer Stromausfall während des Brauens hat mir gestern die Visualisierung von meinem ersten Versuch mit dem Earl-Verfahren zerhauen. Das fand ich ärgerlich, weil der Temperaturverlauf im Maischeprozess für mich viele Infos kompakt & übersichtlich darstellt. In der Anleitung habe ich die Installation und Konfiguration der Visualisierung überarbeitet. Wer die Visualisierung nicht nutzt, kann sich das WebUpdate auch sparen ;-)
Innu
klauslilie
Posting Junior
Posting Junior
Beiträge: 19
Registriert: Sonntag 21. Februar 2016, 17:03
Wohnort: Ascheberg

Re: MQTTDevice Version 2 & Platine

#221

Beitrag von klauslilie »

Hallo in die Runde...
Seit kurzem spielen meine DS18B20 Sensoren verrückt :Waa
Erst zeigen Sie die korrekte Temperatur.. nach einiger Zeit um bis zu 80K falsche Temperaturen.
Es betrifft dann alle Sensoren. Auch wenn ich nur einen Sensor anklemme, habe ich den gleichen Effekt.

Kennt jemand das Phänomen?

Ich bin ratlos :Grübel
Kann mir nur noch vorstellen, dass der ESP8266 defekt ist.
Ich habe schon die V2.53 installiert!

VG
Klaus
JackFrost
Posting Freak
Posting Freak
Beiträge: 2983
Registriert: Dienstag 15. Mai 2018, 18:10

Re: MQTTDevice Version 2 & Platine

#222

Beitrag von JackFrost »

klauslilie hat geschrieben: Freitag 28. Mai 2021, 13:06 Hallo in die Runde...
Seit kurzem spielen meine DS18B20 Sensoren verrückt :Waa
Erst zeigen Sie die korrekte Temperatur.. nach einiger Zeit um bis zu 80K falsche Temperaturen.
Es betrifft dann alle Sensoren. Auch wenn ich nur einen Sensor anklemme, habe ich den gleichen Effekt.

Kennt jemand das Phänomen?

Ich bin ratlos :Grübel
Kann mir nur noch vorstellen, dass der ESP8266 defekt ist.
Ich habe schon die V2.53 installiert!

VG
Klaus
Defekte Sensoren. Werden die warm ? Wo hast du die gekauft ?
Ebay und co. haben oft Fälschungen. Siehe https://github.com/cpetrich/counterfeit_DS18B20

Die erkennt man gut an ihrer ID. 28-tt-tt-ss-ss-00-00-crc ist der Aufbau. Wenn die beiden Bytes vor der CRC nicht 0x00 sind, dann ist es kein originaler.

Gruß JackFrost
Meine Hardware:
eManometer
IDS2 ohne CBPi
Magnetrührer
Ss-Brewtech 10 Gal Topf
IDS2 Induktionsplatte
klauslilie
Posting Junior
Posting Junior
Beiträge: 19
Registriert: Sonntag 21. Februar 2016, 17:03
Wohnort: Ascheberg

Re: MQTTDevice Version 2 & Platine

#223

Beitrag von klauslilie »

Hi JackFrost,
vielen Dank für deine Antwort.
Das mit den Fälschungen muss ich mir mal genauer ansehen.
Ich habe die „Dinger“ bei eBay gekauft.
Nachdem ich mir den Code einmal genauer angesehen habe, ist mir der Hinweis mit der Leitungslänge aufgefallen.
Einer der Sensoren hat ein Länge >3m
Ich habe nun einen wasserdichten Sensor mit 3m Leitung vom Sensorshop24 angeschlossen. Jetzt läuft es wieder zuverlässig!

Also neben den Hinweisen von JackFrost auch auf die max. empfohlene Leitungslänge von 3m achten!
Viele Grüße Klaus
JackFrost
Posting Freak
Posting Freak
Beiträge: 2983
Registriert: Dienstag 15. Mai 2018, 18:10

Re: MQTTDevice Version 2 & Platine

#224

Beitrag von JackFrost »

Ich hab die mit 8m und 3,3 V schon 6 Monate am Stück betrieben. Waren aber welche vom Großhändler.

Gruß JackFrost
Meine Hardware:
eManometer
IDS2 ohne CBPi
Magnetrührer
Ss-Brewtech 10 Gal Topf
IDS2 Induktionsplatte
Benutzeravatar
guenter
Posting Freak
Posting Freak
Beiträge: 1452
Registriert: Sonntag 21. August 2016, 11:30

Re: MQTTDevice Version 2 & Platine

#225

Beitrag von guenter »

JackFrost hat geschrieben: Sonntag 30. Mai 2021, 14:32 Ich hab die mit 8m und 3,3 V schon 6 Monate am Stück betrieben. Waren aber welche vom Großhändler.

Gruß JackFrost
Hängt das nicht auch von der Bittiefe und dem Intervall ab? Je höher die Genauigkeit und je kleiner das Intervall, desto wärmer wir das Kabel. Kannst du sagen, wie das bei dir eingestellt ist?
Bier trinken ist besser als Quark reden! :Drink
JackFrost
Posting Freak
Posting Freak
Beiträge: 2983
Registriert: Dienstag 15. Mai 2018, 18:10

Re: MQTTDevice Version 2 & Platine

#226

Beitrag von JackFrost »

guenter hat geschrieben: Sonntag 30. Mai 2021, 22:22
JackFrost hat geschrieben: Sonntag 30. Mai 2021, 14:32 Ich hab die mit 8m und 3,3 V schon 6 Monate am Stück betrieben. Waren aber welche vom Großhändler.

Gruß JackFrost
Hängt das nicht auch von der Bittiefe und dem Intervall ab? Je höher die Genauigkeit und je kleiner das Intervall, desto wärmer wir das Kabel. Kannst du sagen, wie das bei dir eingestellt ist?
Der Sensor selber wird warm, da das Messen Strom verbraucht. Auch das senden einer 0 erwärmt den Sensor, da der Strom des Pullups über den internen Transistor auf GND gezogen wird. Je höher die Auflösung des Sensor, desto länger braucht er und desto stärker erwärmt er sich. Ist dem Bus aber egal, solange die Zeiten stimmen.

Bei langen Kabeln ist die Kapazität auf dem Kabel höher, damit muss der Pullup kleiner werden, damit das Umladen schnell genug geht. Der DS18B20 kann maximal 4 mA gegen GND ableiten. Ich hatte damals einen 2k2 oder so. Hing alles an einem STM32F103 der die Temperatur im Flur an drei Stellen gemessen hat. Gemessen hab ich so alle 15s oder so. Und dann gleich die Daten aller drei Sensoren geholt. Die sind auf 12 Bit gelaufen.
Ich finde das alte Projekt aber nicht mehr. Daher kann ich die genauen Daten nicht mehr nachschauen.

Gruß JackFrost
Meine Hardware:
eManometer
IDS2 ohne CBPi
Magnetrührer
Ss-Brewtech 10 Gal Topf
IDS2 Induktionsplatte
brilli_willi
Posting Klettermax
Posting Klettermax
Beiträge: 109
Registriert: Montag 7. Dezember 2020, 08:31

Re: MQTTDevice Version 2 & Platine

#227

Beitrag von brilli_willi »

Ich habe heute mein Ringheizelement installiert und konnte es dann auch tatsächlich einmalig via CBPi schalten.
RHE an D4, IDS2 angeschlossen und Temperaturfühler.
Nach einem Neustart bekomme ich aber nun einen MQTT Error und im Webinterface bekomme ich "MQTT Verbindung offline".
Restore des MQTT habe ich berits gemacht. (WLAN Einstellungen noch nicht). Habe dann nochmal alle Sensoren und Aktoren angelegt.
Könnt ihr mir hier evtl weiterhelfen?
brilli_willi
Posting Klettermax
Posting Klettermax
Beiträge: 109
Registriert: Montag 7. Dezember 2020, 08:31

Re: MQTTDevice Version 2 & Platine

#228

Beitrag von brilli_willi »

Ergänzung:
Habe nun die Steuerleitung vom MQTT ans Relais des Heizelementes entfernt.
Dann funktioniert die Verbindung vom MQTT mit dem CBPi.
Darf ich nicht an D0? Brauch halt nen Impuls von ca. 5V zum Schalten des Relais.
JackFrost
Posting Freak
Posting Freak
Beiträge: 2983
Registriert: Dienstag 15. Mai 2018, 18:10

Re: MQTTDevice Version 2 & Platine

#229

Beitrag von JackFrost »

Was für ein Relais hast du ? Der ESP hat 3,3V GPIOs.

Gruß JackFrost
Meine Hardware:
eManometer
IDS2 ohne CBPi
Magnetrührer
Ss-Brewtech 10 Gal Topf
IDS2 Induktionsplatte
brilli_willi
Posting Klettermax
Posting Klettermax
Beiträge: 109
Registriert: Montag 7. Dezember 2020, 08:31

Re: MQTTDevice Version 2 & Platine

#230

Beitrag von brilli_willi »

Dieses hier:
https://store.brewpi.com/temperature-co ... ay-ssr-20a

Type: LRSSR-3DA 20A
Output voltage: 24~480V AC
Input voltage: 3-32V DC
Benutzeravatar
Innuendo
Posting Freak
Posting Freak
Beiträge: 1938
Registriert: Freitag 2. März 2018, 09:43

Re: MQTTDevice Version 2 & Platine

#231

Beitrag von Innuendo »

Hi,
wenn das MQTTDevice2 im WebIf MQTT "Verbindung Offline" anzeigt, besteht keine Verbindung zum MQTT Broker mosquitto. Das RHE an D4 sollte funktionieren. D4 ist aber nicht die beste Wahl. weil der ESP8266 GPIO D4 auf HIGH setzt. Besser wäre, du setzt Dein RHE auf ein anderes MQTTDevice als die IDS2 setzt und dann bspw. auf GPIO D6. An D4 habe ich eine Pumpe und mein Rührwerk - da stört es nicht, wenn die beim Start kurz anlaufen.

Hast Du MQTTExplorer oder ein ähnliches Tool, um ein Subscribe auf alle Topics (mit #) zu erstellen? Schalte bitte für die Fehlersuche das Event handling komplett ab. Den Service mosquitto (oder den raspberry) neu starten. Wenn das alles nicht hilft schick mir Deine config.txt per PN.
Innu
Benutzeravatar
Innuendo
Posting Freak
Posting Freak
Beiträge: 1938
Registriert: Freitag 2. März 2018, 09:43

Re: MQTTDevice Version 2 & Platine

#232

Beitrag von Innuendo »

JackFrost hat geschrieben: Montag 14. Juni 2021, 16:22 Was für ein Relais hast du ? Der ESP hat 3,3V GPIOs.
Das MQTTDevice hat einen Shifter auf 5V
Benutzeravatar
Innuendo
Posting Freak
Posting Freak
Beiträge: 1938
Registriert: Freitag 2. März 2018, 09:43

Re: MQTTDevice Version 2 & Platine

#233

Beitrag von Innuendo »

MQTTDevice V 2.55 liegt auf guthub und steht als WebUpdate bereit.
Die Firmware wurde auf die aktuelle ESP8266 3.0.0 aktualisiert.
brilli_willi
Posting Klettermax
Posting Klettermax
Beiträge: 109
Registriert: Montag 7. Dezember 2020, 08:31

Re: MQTTDevice Version 2 & Platine

#234

Beitrag von brilli_willi »

Innuendo hat geschrieben: Montag 14. Juni 2021, 16:34 Hi,
wenn das MQTTDevice2 im WebIf MQTT "Verbindung Offline" anzeigt, besteht keine Verbindung zum MQTT Broker mosquitto. Das RHE an D4 sollte funktionieren. D4 ist aber nicht die beste Wahl. weil der ESP8266 GPIO D4 auf HIGH setzt. Besser wäre, du setzt Dein RHE auf ein anderes MQTTDevice als die IDS2 setzt und dann bspw. auf GPIO D6. An D4 habe ich eine Pumpe und mein Rührwerk - da stört es nicht, wenn die beim Start kurz anlaufen.

Hast Du MQTTExplorer oder ein ähnliches Tool, um ein Subscribe auf alle Topics (mit #) zu erstellen? Schalte bitte für die Fehlersuche das Event handling komplett ab. Den Service mosquitto (oder den raspberry) neu starten. Wenn das alles nicht hilft schick mir Deine config.txt per PN.
Innu
Hi Innu,
mit einer Woche Abstand bin ich nochmal an die Thematik herangegangen und keine Ahnung warum, aber das Ringheizelement läuft. Sprich ich kann aus CraftbeerPi das SSR schalten.
Bin gerade dabei mittels PIDAutoTune die P-, I- und D-Werte zu ermitteln und dann schaue ich mal wie ich PIDBoil einstellen muss damit mir die Suppe nicht wieder überkocht. Denke das 98 oder 98,5 Grad als Kochtemperatur ausreichen. Und über 96 Grad regele ich dann das RHE auf 20-25% runter. Denke das reicht dann.
Danke nochmal für deinen Support.
Viele Grüße
Christoph
Benutzeravatar
Innuendo
Posting Freak
Posting Freak
Beiträge: 1938
Registriert: Freitag 2. März 2018, 09:43

Re: MQTTDevice Version 2 & Platine

#235

Beitrag von Innuendo »

Innuendo hat geschrieben: Sonntag 20. Juni 2021, 09:40 MQTTDevice V 2.55 liegt auf guthub und steht als WebUpdate bereit.
Die Firmware wurde auf die aktuelle ESP8266 3.0.0 aktualisiert.
MQTTDevice V 2.56 liegt auf github und steht als WebUpdate bereit. Basis ist wieder ESP8266 Version 2.7.4
Wer selber compiliert: ESP8266 3.0.x verursacht bei mir viele Probleme und ist langsamer.

Platinen:
Ich habe noch ein paar wenige Platinen übrig. Danach wären über 100 Platinen im Einsatz oder zumindest versendet.
Innu
JoGr
Posting Klettermax
Posting Klettermax
Beiträge: 283
Registriert: Freitag 4. August 2017, 15:29
Wohnort: Maulburg

Re: MQTTDevice Version 2 & Platine

#236

Beitrag von JoGr »

Hallo,
ich habe den mDNS Namen auf mqttdeviceb geändert (ist das/2. -um beide erreichen können), gespeichert und vergebens versucht das device mit dem neuen Namen zu erreichen.
Was mache ich denn falsch? Ist ja weder Leer- noch Sonderzeichen.

Grüsse
Joachim
Benutzeravatar
Innuendo
Posting Freak
Posting Freak
Beiträge: 1938
Registriert: Freitag 2. März 2018, 09:43

Re: MQTTDevice Version 2 & Platine

#237

Beitrag von Innuendo »

Hallo JoGr,
eine Änderung am mDNS erfordert ein reboot vom MQTTDevice. Manchmal sind auch die Router oder WLAN Repeater die Ursache (arp table). In einer Windows Eingabeaufforderung oder auf einer bash kannst Du mit nslookup mDNS Namen und ping mDNS Namen in Deinem Heimnetz die Auflösungen IP zu DNS Namen (forward u. reverse lookup) testen.
Innu
JoGr
Posting Klettermax
Posting Klettermax
Beiträge: 283
Registriert: Freitag 4. August 2017, 15:29
Wohnort: Maulburg

Re: MQTTDevice Version 2 & Platine

#238

Beitrag von JoGr »

Hallo Innu,
Mit nslookup + mDNS bekomme ich die IP…. , mit dem mDMS komme ich aber nicht aufs device…. Das ist jetzt ab Kosmetik, das Device funktioniert ja.


Danke für die Hilfe
Benutzeravatar
Innuendo
Posting Freak
Posting Freak
Beiträge: 1938
Registriert: Freitag 2. März 2018, 09:43

Re: MQTTDevice Version 2 & Platine

#239

Beitrag von Innuendo »

Hey,
ich habe mDNS nochmal überprüft und es funktioniert wie es soll. Mein debuglog:
...
13:22:35 mDNS: 1 name: MQTTDevice
...
*** SYSINFO: mDNS gestartet als MQTTDevice verbunden an x.x.x.x Time: 13:22:35 RSSI=-75
Wenn ich nun im Browser http://mqttdevice eingebe, öffnet sich die Weboberfläche. Die Eingabe im Browser ist nicht case sensitive. Zur Aktivierung muss in den Einstellungen im Tab System mDNS aktiviert und ein eindeutiger Name in die Zeile eingetragen werden. Wenn Du zwei oder mehr Devices im Einsatz hast, musst Du den vorgegebenen Namen anpassen. Manchmal ist der Router Ursache. Eine aktuelle Firmware ist in dem Fall noch einfach zu überprüfen.
Innu
Lowine
Neuling
Neuling
Beiträge: 8
Registriert: Freitag 23. Oktober 2020, 14:20

Re: MQTTDevice Version 2 & Platine

#240

Beitrag von Lowine »

Guten Abend zusammen,
ich habe das MQTTDevice schon seit einiger Zeit erfolgreich im Einsatz. Nachdem ich mein Netzwerk angepasst habe, muss ich die SSID und das Passwort ändern. Kann mir jemand sagen, wie ich das anstellen kann ohne eine erneutes MQTTDevice flashen?
Benutzeravatar
Innuendo
Posting Freak
Posting Freak
Beiträge: 1938
Registriert: Freitag 2. März 2018, 09:43

Re: MQTTDevice Version 2 & Platine

#241

Beitrag von Innuendo »

Wenn es keinen AP zum "alten" WLAN mehr gibt, stellt Dein MQTTDevice automatisch einen AccessPoint bereit und ist auf 192.168.4.1 erreichbar.
Wenn Dein MQTTDevice sich noch mit dem alten WLAN verbinden kann, gehe in die Einstellungen und wähle WLAN Einstellungen löschen aus.
Innu
Benutzeravatar
Innuendo
Posting Freak
Posting Freak
Beiträge: 1938
Registriert: Freitag 2. März 2018, 09:43

Re: MQTTDevice Version 2 & Platine

#242

Beitrag von Innuendo »

Firmware Version 2.6 für das MQTTDevice4 ist verfügbar.

Ich habe die Firmware für CBPi4 angepasst. Um es eindeutig zu machen, gibt es neben MQTTDevice2 ab sofort ein MQTTDevice 4 auf github.
MQTTDevice2 User können auf die Version 2.60 aktualisieren. Das Update muss einmal per File Upload durchgeführt werden (Wechsel MQTTDevice2 nach 4). Alle künftigen Updates erfolgen dann wieder über WebUpdate.
Innu
Benutzeravatar
Innuendo
Posting Freak
Posting Freak
Beiträge: 1938
Registriert: Freitag 2. März 2018, 09:43

Re: MQTTDevice Version 2 & Platine

#243

Beitrag von Innuendo »

Hey Ihrs,
ein Update auf Version 4.01 ist per WebUpdate verfügbar. Weitere Infos hier
Das kleine monochome OLED Display ist (wie im CBPi4 Faden angekündigt) durch ein Nextion Touchdisplay ersetzt worden. Zum Betrieb ist mindestens CBPi 4.0.1a7 notwendig.

Um Verwirrungen zu vermeiden habe ich die Versionsnummer für das MQTTDevice4 von 2.6x auf 4.x angepasst. Firmware Versionen 4.x funktionieren nur mit CBPi4. ->>> Das Update ist nicht für CBPi3 geeignet!

Innu
Iserlohner
Posting Klettermax
Posting Klettermax
Beiträge: 224
Registriert: Sonntag 1. November 2020, 19:16

Re: MQTTDevice Version 2 & Platine

#244

Beitrag von Iserlohner »

Innuendo hat geschrieben: Samstag 8. Januar 2022, 22:25 Das kleine monochome OLED Display ist (wie im CBPi4 Faden angekündigt) durch ein Nextion Touchdisplay ersetzt worden. Zum Betrieb ist mindestens CBPi 4.0.1a7 notwendig.
Innu
Hallo Innuendo.
Hab die neue FW noch nicht installiert, daher meine Frage.
Wird das OLED auch weiterhin unterstützt ?
Mit dem Nexion sieht es natürlich super aus, ist aber (zumindest für mich) etwas "Oversized".
Abgesehen davon ist das Nexion ja auch nicht gerade nen Schnäppchen...

Grüße
Dirk
Benutzeravatar
Innuendo
Posting Freak
Posting Freak
Beiträge: 1938
Registriert: Freitag 2. März 2018, 09:43

Re: MQTTDevice Version 2 & Platine

#245

Beitrag von Innuendo »

Hallo Dirk,
in der Version 4.01 wird das OLED nicht mehr unterstützt.
Um es etwas günstiger zu machen:
Der Displaypreis ist in der Bucht mit ca. 45 Euronen etwas erträglicher, aber auch kein Schnapper.
oder
Es wäre auch möglich, das günstige kleinere 2.4" Display zu nehmen. Dann muss aber mit dem Nextion Editor die Display Datei auf die neuen Pixel angepasst werden. Gleiches gilt, wenn jemand das 5" oder 7" einsetzen möchte.

Der Nextion Editor ist einfach zu verwenden. Lediglich die IDs der Objekt auf dem Bildschirm (bspw. Uhrzeit, current step, target temp, etc) dürfen nicht verändert werden.

Alterrnative:
Wenn es doch mehr "OLED-Display-User" gibt, als ich vermutet habe, dann erweitere ich die Version 2.6, damit das alte "OLED MQTTDevice2" auch mit CBPi4 genutzt werden kann. Ehrlich gesagt möchte ich aber langfristig nicht 2 Versionen pflegen. CBPi3 ist EOL und monochrome Displays sind noch mehr EOL ;)
Du kannst die Version 4.01 aufspielen, aber vor dem Update bitte das Display deaktivieren.
Innu
Benutzeravatar
skybandit
Posting Klettermax
Posting Klettermax
Beiträge: 216
Registriert: Mittwoch 22. Januar 2020, 16:07
Wohnort: Kreis Soest

Re: MQTTDevice Version 2 & Platine

#246

Beitrag von skybandit »

Hallo Innuendo,
ich bin auch einer der OLED Display User. Nachdem ich mich tagelange mit meine odroid board und dem cbpi rumgeschlagen habe ist gestern endlich mein raspberry pi 4 gekommen und ich konnte problemlos cbpi 4 auf SSD installieren. Die Freude war groß und der pi läuft superfix.
Leider musste ich dann aber feststellen, dass es ja jetzt gar keine Möglichkeit gibt eine vorhandene Platine mit OLED Display mit cbpi 4 benutzen zu können?

Hattest Du nicht zeitweise eine Version 2.6 bereitgestell, die mit OLED und cbpi 4 funktioniert? Kann die Version auf deinem Github leider nicht finden.

Funktioniert jetzt 4.1 auch mit OLED Display?

VG skybandit

Edith: typo
Benutzeravatar
Innuendo
Posting Freak
Posting Freak
Beiträge: 1938
Registriert: Freitag 2. März 2018, 09:43

Re: MQTTDevice Version 2 & Platine

#247

Beitrag von Innuendo »

skybandit hat geschrieben: Sonntag 9. Januar 2022, 09:24 Funktioniert jetzt 4.1 auch mit OLED Display?
4.01 funktioniert nicht mit OLED.
Ich erstelle kurzfristig eine 2.61 für OLED (MQTTDevice2) und CBPi4
Benutzeravatar
Frudel
Posting Freak
Posting Freak
Beiträge: 1251
Registriert: Donnerstag 28. April 2016, 22:12

Re: MQTTDevice Version 2 & Platine

#248

Beitrag von Frudel »

Hallo Innuendo .
ohne dich zu nerven, wird es auch ein Version der 2.x geben die das neue Display unterstützt.
Langfristig werde ich auch event auf die 4 er Version wechseln , im Augenlick bin ich mit cbpi 3 zufrieden
würde aber gerne ein größeres Display haben und für das 4er gerüstet sein.

Merci
Markus
Viele Menschen benutzen Informationen und Fakten wie ein Betrunkener einen Laternenpfahl :
Vor allem zur Stütze ihres Standpunktes und weniger zum Beleuchten eines Sachverhaltes.
Benutzeravatar
Innuendo
Posting Freak
Posting Freak
Beiträge: 1938
Registriert: Freitag 2. März 2018, 09:43

Re: MQTTDevice Version 2 & Platine

#249

Beitrag von Innuendo »

Frudel hat geschrieben: Sonntag 9. Januar 2022, 10:39 wird es auch ein Version der 2.x geben die das neue Display unterstützt.
eine Version 3 als Mittelding ;-)
Das ist rein praktisch leider nicht möglich. Die Daten auf dem Display sind in CBPi3 nicht via MQTT verfügbar. Und auch in CBPi4 muss Alex noch einen Patch einspielen, damit es funktioniert. Probiere doch die 4er Version mal aus. eine 16GB SD Karte kostet nicht die Welt.
Innu
Benutzeravatar
Frudel
Posting Freak
Posting Freak
Beiträge: 1251
Registriert: Donnerstag 28. April 2016, 22:12

Re: MQTTDevice Version 2 & Platine

#250

Beitrag von Frudel »

Es geht nicht um die Kosten sondern um die Zeit die man liegen lässt bis alles wieder
funktioniert-
Mal sehen , wenn ich mal wieder Lust auf Frust habe :)
Viele Menschen benutzen Informationen und Fakten wie ein Betrunkener einen Laternenpfahl :
Vor allem zur Stütze ihres Standpunktes und weniger zum Beleuchten eines Sachverhaltes.
Antworten