Wie zweiten Raspi mit Temperatursensoren und Relais sinnvoll anbinden

Begonnen von teufelchen, 21 Oktober 2021, 14:20:38

Vorheriges Thema - Nächstes Thema

teufelchen

Hallo,

ich habe einen Raspberry auf den FHEM läuft. Nenne diesen mal Master.

Ich habe noch einen weiteren, älteren Raspi rumliegen und möchte daran 3 Temperaturfühler (DS18B20) und ein Schaltrelais anschließen.

Nun weiß ich nicht, wie der beste/optimale Weg ist um die Temperaturwerte auf den Master-Raspi in FHEM anzuzeigen und auch daraus das Relais zu schalten.

So als erste Idee, auf den alten Raspberry mit den Sensoren auch FHEM aufspielen und die Fühler einbinden. Dann die beiden mit FHEM2FHEM verbinden.

Gibt es bessere Varianten?
Raspberry Pi 3
CUL433: V 1.26.05 a-culfw Build: 311 (2018-12-09_19-12-53) CUL433 (F-Band: 433MHz)
freq:433.920MHz bWidth:325KHz rAmpl:42dB sens:4dB
Debmatic mit RPI-RF-MOD

rabehd

Auch funktionierende Lösungen kann man hinterfragen.

Frank_Huber

FHEM2FHEM.

Aber erzähle doch erstmal bischen was über den Einsatzzweck...

teufelchen

Ich möchte damit hauptsächlich die Vor- und Rücklauftemperatur meiner Fußbodenheizung anzeigen.
Mit den Realas soll ein Bypassventil gesteuert werden.

Alles nicht zeitkritisch und auch nicht sicherheitsrelevant.

Aktualisierung der Messwerte alle Minute wäre gut.
Raspberry Pi 3
CUL433: V 1.26.05 a-culfw Build: 311 (2018-12-09_19-12-53) CUL433 (F-Band: 433MHz)
freq:433.920MHz bWidth:325KHz rAmpl:42dB sens:4dB
Debmatic mit RPI-RF-MOD

Frank_Huber

ja, dann FHEM2FHEM.

Aber falls du basteln kannst, schau Dir mal z.B. einen Wemos D1 mini an. den kannst mittels MQTT oder ESPEasy Modul sehr einfach anbinden.

Adimarantis

Hab genau den selben Anwendungsfall. Mein Master hat dann FTUI für die Anzeige. Die Sensordaten werden über FHEM2FHEM gesynced.
Einfach ein gleichnamiges Dummy device auf dem Master erzeugen und FHEM2FHEM übernimmt das Befüllen - und das real-time eventgesteuert.

Um deine DS18B20 anzubinden, kann ich dich vielleicht für den Test meines Re-writes des GPIO4 Moduls gewinnnen: :)
https://forum.fhem.de/index.php/topic,123499.0.html
Raspberry 4 + HM-MOD-RPI-PCB (pivCCU) + RfxTrx433XL + 2xRaspberry 1
Module: 50_Signalbot, 52_I2C_ADS1x1x , 58_RPI_1Wire, (50_SPI_MAX31865)

betateilchen

Sowas würde ich inzwischen immer über MQTT machen.
FHEM2FHEM ist für mich komplett outdated.
-----------------------
Formuliere die Aufgabe möglichst einfach und
setze die Lösung richtig um - dann wird es auch funktionieren.
-----------------------
Lesen gefährdet die Unwissenheit!

LuckyDay

Zitat von: betateilchen am 21 Oktober 2021, 21:58:54
Sowas würde ich inzwischen immer über MQTT machen.
FHEM2FHEM ist für mich komplett outdated.

Ja, wenn man es gespannt hat  ;D über den (Fhem) oder Ext.(Mosquitto) Broker 
vereinfacht viele Dinge.

teufelchen

Meine erste Idee war auch einen ESP8266 zu nehmen und mit EspEasy zu flashen.
Temperatursensoren und Relais in EspEasy konfigurieren und MQTT einschalten.

Damit wäre dann die Übertragung der Daten in Richtung FHEM gelöst.
Die Temperaturwerte hätte ich dann in FHEM.

Aber wir bekomme ich den Weg hin, aus FHEM dann das am ESP8266 angeschlossene Relais zu schalten?
Oder habe ich einen Gedankenfehler?
Raspberry Pi 3
CUL433: V 1.26.05 a-culfw Build: 311 (2018-12-09_19-12-53) CUL433 (F-Band: 433MHz)
freq:433.920MHz bWidth:325KHz rAmpl:42dB sens:4dB
Debmatic mit RPI-RF-MOD

Frank_Huber

Ich betreibe meine ESPs mit Hilfe des ESP-Easy Moduls in FHEM.
damit kann ich dann problemlos die GPIO schalten.

ESP-Easy im Anhang, FHEM so:

ESPEasy Bridge
defmod ESPBridge ESPEasy bridge 8383
attr ESPBridge authentication 0
attr ESPBridge combineDevices 0


Relais
defmod Licht_Schuppen_klein ESPEasy 192.168.12.201 80 ESPBridge SONOFF_11_Relais
attr Licht_Schuppen_klein IODev ESPBridge
attr Licht_Schuppen_klein Interval 300
attr Licht_Schuppen_klein presenceCheck 0
attr Licht_Schuppen_klein readingSwitchText 1
attr Licht_Schuppen_klein room_map Rel:on:on|Rel:off:off
attr Licht_Schuppen_klein setState 3
attr Licht_Schuppen_klein stateFormat Relais
attr Licht_Schuppen_klein userSetCmds ( on => {url=>"/control?cmd=gpio,12,1"}, off => {url=>"/control?cmd=gpio,12,0"} )


Ist für mich einfacher und übersichtlicher als mit MQTT.
Aber wie immer, viele Wege führen ans Ziel. ;-)

Nobbynews

Zitat von: teufelchen am 22 Oktober 2021, 13:25:38
Aber wir bekomme ich den Weg hin, aus FHEM dann das am ESP8266 angeschlossene Relais zu schalten?
Oder habe ich einen Gedankenfehler?
Zusätzlich zum MQTT Controller noch ein device Generic-MQTT Import definieren und das Relais am GPIO dann über eine Regel ansteuern.

Wernieman

- Bitte um Input für Output
- When there is a Shell, there is a Way
- Wann war Dein letztes Backup?

Wie man Fragen stellt: https://tty1.net/smart-questions_de.html

Nobbynews

#12
Zitat von: Wernieman am 22 Oktober 2021, 13:49:19
Hast Du ein Beispiel (oder Wiki etc.) dazu?
Bin ich gemeint?

Zwar nicht für ein Relais, aber zur Ausgabe von mp3 Files.
Im device MQTT-Import mit Namen "Durchsage" definiert z.B. als MQTT Topic 1 : pTrack
Die Regel dazu habe ich so definiert:

on Durchsage#Value1 do
play, [Durchsage#Value1]
endon


Der Aufruf in fhem über mqtt2Server:
set MQTT2_Server publish pTrack 10


TomLee

ZitatAber wir bekomme ich den Weg hin, aus FHEM dann das am ESP8266 angeschlossene Relais zu schalten?
Oder habe ich einen Gedankenfehler?

Im Falle MQTT2 und Tasmota (geht mit ESPEasy denk ich doch auch) auf dem ESP, konfigurierst du einfach den verwendeten GPIO auf POWER1, aktivierst MQTT in den Einstellungen, schaltest das Relais oder Neustart des ESP einmal und daraufhin wird automatisch ein MQTT2_DEVICE in FHEM erstellt.
Auf dieses Device wendet man einfach das tasmota_basic-Template (set <devicename> attrTemplate tasmota_basic) an und kann ab dann das Relais aus FHEM steuern.

Beta-User

...es gibt auch ein paar wenige Beispiele, wie man ESPEasy-GPIO direkt in einem MQTT2_DEVICE schalten kann, falls schon MQTT2-Grundkenntnisse da sind...

Was Tasmota und "viele" (=mehr als einen) DS18B20 angeht, ist es etwas "tricky", die Einzelwerte sauber den Sensoren zuzuordnen, aber auch dafür gibt es ein attrTemplate.

Alternativ würde ich hier mal Firmata in den Raum werfen - damit könnte man ein LAN-gebundenes "dummes" IO bauen, um die Sensoren und das Relay einzubinden (wer nur 2-3 Adern hat, kann auch MySensors@RS485 nehmen).
Server: HP-elitedesk@Debian 12, aktuelles FHEM@ConfigDB | CUL_HM (VCCU) | MQTT2: MiLight@ESP-GW, BT@OpenMQTTGw | MySensors: seriell, v.a. 2.3.1@RS485 | ZWave | ZigBee@deCONZ | SIGNALduino | MapleCUN | RHASSPY
svn: u.a MySensors, Weekday-&RandomTimer, Twilight,  div. attrTemplate-files

teufelchen

Ich befinde mich ganz am Anfang.
Ich bin gerade dabei mich in MQTT einzulesen und wie die Anbindung an FHEM funktioniert.

Ich flashe erst mal Tasmota auf den ESP und binde die Temperatursensoren ein.
Dann versuche ich die Daten in FHEM anzeigen zu lassen.

Eine große Herausforderung für mich wird sicherlich das ansteuern des Relais aus FHEM werden.
Raspberry Pi 3
CUL433: V 1.26.05 a-culfw Build: 311 (2018-12-09_19-12-53) CUL433 (F-Band: 433MHz)
freq:433.920MHz bWidth:325KHz rAmpl:42dB sens:4dB
Debmatic mit RPI-RF-MOD

Beta-User

#16
Betr. MQTT: Eventueller Einstiegspunkt: https://wiki.fhem.de/wiki/MQTT#Schnellstart_f.C3.BCr_Ungeduldige

Das mit dem Relay ist ziemlich sicher "ein Klacks" (via Tasmota) - da gibt es Legionen von Beispielen, falls das DS18B20-attrTemplate das nicht sowieso direkt hergibt.... Der ESP muss halt passend konfiguriert sein, was die PIN-Assignments angeht (macht man im Web-Interface von Tasmota).

Betr. Espeasy und MQTT2_DEVICE gibt es funktionierenden Code von supernova1963 hier: https://forum.fhem.de/index.php/topic,98072.msg914058.html#msg914058
Server: HP-elitedesk@Debian 12, aktuelles FHEM@ConfigDB | CUL_HM (VCCU) | MQTT2: MiLight@ESP-GW, BT@OpenMQTTGw | MySensors: seriell, v.a. 2.3.1@RS485 | ZWave | ZigBee@deCONZ | SIGNALduino | MapleCUN | RHASSPY
svn: u.a MySensors, Weekday-&RandomTimer, Twilight,  div. attrTemplate-files

Frank_Huber

Zitat von: teufelchen am 22 Oktober 2021, 16:17:27
Eine große Herausforderung für mich wird sicherlich das ansteuern des Relais aus FHEM werden.

Für ESPEasy hab ich dir den Lösungsweg gepostet. ;-)

teufelchen

#18
@Frank_Huber: Vielen Dank.

Ich habe es so umgesetzt und es funktioniert.
Das Wichtigste war die userSetCmds ( on => {url=>"/control?cmd=gpio,12,1"}, off => {url=>"/control?cmd=gpio,12,0"} )

Was ich nicht verstehe, warum stateFormat Relais gesetzt wird.
Hab es selber rausgefunden. Dein Gerät heißt Relais und damit der Schaltzustand korrekt angezeigt wird.

Und weißt Du wie man direkt in der Webanwendung von ESPEasy ein und ausschaltet. Bei Tasmota wird auf der Startseite dann ein Schalter generiert, was ich aber bei ESPEasy noch nicht gefunden habe.

Raspberry Pi 3
CUL433: V 1.26.05 a-culfw Build: 311 (2018-12-09_19-12-53) CUL433 (F-Band: 433MHz)
freq:433.920MHz bWidth:325KHz rAmpl:42dB sens:4dB
Debmatic mit RPI-RF-MOD

Wernieman

- Bitte um Input für Output
- When there is a Shell, there is a Way
- Wann war Dein letztes Backup?

Wie man Fragen stellt: https://tty1.net/smart-questions_de.html

Frank_Huber

Zitat von: Wernieman am 24 Oktober 2021, 14:41:57
So etwas gibt es bei ESPEasy nicht.
Stimmt nicht ganz. 😉
Irgendwo kann man da auch Kommandos absetzen.
Aber das ist kein Vergleich zu den Schaltflächen in Tasmota.
Wenn man das unbedingt benötigt ist Espeasy die falsche Wahl.

Wernieman

Du hast eine Kommandoeingabezeile .. ja. Aber eben keine Knöpfe zum drücken ...
- Bitte um Input für Output
- When there is a Shell, there is a Way
- Wann war Dein letztes Backup?

Wie man Fragen stellt: https://tty1.net/smart-questions_de.html