Metainformationen zur Seite

Unterschiede

Hier werden die Unterschiede zwischen zwei Versionen angezeigt.

Link zu dieser Vergleichsansicht

Beide Seiten der vorigen RevisionVorhergehende Überarbeitung
Nächste Überarbeitung
Vorhergehende Überarbeitung
plugins:multi_io:start [2024/04/22 14:03] – Struct-Daten geändert Michael Schlenstedtplugins:multi_io:start [2025/03/17 15:42] (aktuell) Michael Schlenstedt
Zeile 25: Zeile 25:
 Für einige Hardware haben wir spezielle Informationen auf einer eigenen Unterseite zusammengefasst. Die Links findet ihr in den Unterkapiteln weiter unten. Für einige Hardware haben wir spezielle Informationen auf einer eigenen Unterseite zusammengefasst. Die Links findet ihr in den Unterkapiteln weiter unten.
  
-<WRAP center round important 100%> +=== Separater I2C Bus ===
- +
-== Separater I2C Bus ==+
  
 Nutzt ihr GPIO Module und/oder Sensoren über den I2C-Bus und verwendet ihr parallel noch andere Plugins, die Hardware am I2C Bus nutzen, empfehle ich Euch dieses Plugin auf einem separaten Bus laufen zu lassen. Auch wenn ihr Module mit identischer Adresse mehrfach verwenden wollt, müsst ihr diese auf separaten Bussen betreiben. Wie man mehrere I2C Busse auf dem Raspberry aktiviert, könnt ihr hier nachlesen: [[howtos_knowledge_base:mehrere_i2c_busse]] Nutzt ihr GPIO Module und/oder Sensoren über den I2C-Bus und verwendet ihr parallel noch andere Plugins, die Hardware am I2C Bus nutzen, empfehle ich Euch dieses Plugin auf einem separaten Bus laufen zu lassen. Auch wenn ihr Module mit identischer Adresse mehrfach verwenden wollt, müsst ihr diese auf separaten Bussen betreiben. Wie man mehrere I2C Busse auf dem Raspberry aktiviert, könnt ihr hier nachlesen: [[howtos_knowledge_base:mehrere_i2c_busse]]
 +
 +=== Schalten von bis zu 30V DC oder bis zu 230V AC ===
 +
 +<WRAP center round alert 100%>
 +
 +Spannungen von 230V sind **tödlich**! Installationen dürfen ausschließlich von Elektrofachkräften durchgeführt werden!
  
 </WRAP> </WRAP>
 +
 +Um Ausgänge zu schalten benötigt man ein Relais Board. Üblicherweise kommen Relaisboards mit mechanischen Relais zum Einsatz. Diese gibt es üblicherweise mit 2, 3, 4, 8 oder 16 Relais. Die Relais werden dabei mit sogenannten Optokopplern an den Raspberry oder sonstigen Mikrocontrollern angeschlossen. Die Boards sind sehr flexibel - üblicherweise können sie rein von sich aus sowohl Netzspannung bis 230V mit 10A schalten (Spezifikation beachten!) als auch Niederspannung  bis 30V DC schalten. Allerdings verursachen sie teilweise erhebliche Störungen am Raspberry/Mikrocontroller beim Schalten von 230V. Wenn man induktive Lasten schaltet (z. B. eine Spule in einem Magnetventil) entstehen auch deutliche Störungen beim Schalten von 24V DC.
 +
 +{{plugins:multi_io:pasted:20240503-063227.png?300}}
 +
 +//Beispiel eines Relais Boards, [[https://www.berrybase.de/5v-4-kanal-relais-modul|(c) berrybase.de]]//
 +
 +Beim Schalten hoher (induktiver) Lasten entstehen am Schaltkontakt des Relais sehr hohe Spannungen, die einen sogenannten Lichtbogen erzeugen. Diese Störungen schlagen bis auf die Spannungsversorgung und Mikrochips des Raspberry/Mikrocontrollers durch und führen hier zu erheblichen Störungen (bis hin zum Absturz des Raspberry). Schaltet man induktive Gleichstromlasten (Spule eines Magnetventils zum Beispiel) ab, %%bricht deren Magnetfeld zusammen. Die im Magnetfeld gespeicherte Energie kann nicht einfach verschwinden. Damit wird die Induktivität zur Energiequelle, welche sehr hohe Spannungen erzeugen kann (Prinzip der Zündspule). %%Ich empfehle daher dringend (aus eigener Erfahrung) diese Relais Boards nicht zum Schalten von 230V zu verwenden (es gibt Alternativen - siehe unten) oder zu entstören (nächster Abschnitt). Beim Schalten von Gleichstrom muss häufig nicht entstört werden (wenn keine induktiven Lasten geschaltet werden). Ansonsten empfehle ich eine Schottky-Diode (Freilaufdiode) zu verbauen (siehe weiter unten). Hintergrund dazu hier: [[https://www.mikrocontroller.net/articles/Relais_mit_Logik_ansteuern#Entst%C3%B6rung|https://www.mikrocontroller.net/articles/Relais_mit_Logik_ansteuern#Entst%C3%B6rung]]
 +
 +== Schalten von induktiven Lasten mit 30V DC - Mit Standardrelaisboard ==
 +
 +Hier benötigt man eine Schottky-Diode (Freilaufdiode), die parallel zur induktiven Last verbaut wird - und zwar %%für die Betriebsspannung in Sperrrichtung. Auf dem folgenden Beispiel-Bild ist die Freilaufdiode mit "D1" bezeichnet (Hinweis: Auf der Diode ist ein Strich aufgedruckt, dieser entspricht dem "Strich" auf dem Symbol im Schaltplan):%%
 +
 +{{plugins:multi_io:pasted:20240601-093758.png?300}}{{plugins:multi_io:pasted:20240601-093954.png?300}}
 +
 +//Schottky-/Freilaufdiode, [[https://www.mikrocontroller.net/articles/Relais_mit_Logik_ansteuern#Entst%C3%B6rung|(c) mikrocontroller.net]] und [[https://de.wikipedia.org/wiki/Schottky-Diode|Wikipedia]]//
 +
 +Freilaufdioden sind ein Cent-Artikel, man muss nur darauf achten, dass sie die Betriebsspannung sicher sperren können. Bei 24V DC zum Beispiel eine Diode für 40V. Ich klemme sie immer direkt am Relaisausgang parallel zur eigentlich geschalteten Last.
 +
 +== Schalten von 230V AC - Mit Standardrelaisboard ==
 +
 +Möchte man also ein solches Standard Relais Board zum Schalten seiner 230V Verbraucher verwenden, kann (muss) man unbedingt ein RC-Glied (eine Kombination aus Widerstand und Kondensator) parallel zum Verbraucher schalten. Dieses RC-Glied nimmt die Störungen und Überspannungen während des Schaltvorgangs auf. So ein RC-Glied findet man auch unter dem Namen "Snubber". Wenn man Glück hat und die zu schaltenden Lasten sind nicht all zu groß, kann der Snubber die Störungen komplett beseitigen.
 +
 +{{plugins:multi_io:pasted:20240503-065852.png?300}}
 +
 +//Snubber/RC-Glied, [[https://www.shelly.com/de/products/shop/rc-snubber|(c) Shelly]]//
 +
 +== (Bessere) Lösung zum Schalten von 230V AC - Solid State Relais ==
 +
 +Wer auf Nummer Sicher gehen möchte, der nutzt zum Schalten von 230V ausschließlich Solid State Relais (SSR). SSRs funktionieren genauso wie mechanische Relais, bestehen aber ausschließlich aus elektronischen Bauteilen und haben keinerlei Mechanik verbaut. Daher können beim Schalten auch keine Störungen durch Lichtbögen entstehen. Das Gute daran: Sie sind nicht sehr viel teurer als mechanische Relais. Üblicherweise gibt es die SSR genauso verbaut auf Boards wie die "normalen" Relaisboards auch. Aber Achtung! Diese Boards **können nur 2A schalten** und sie können **ausschließlich Wechselspannung** schalten! Schaut Euch die Spezifikation unbedingt an.
 +
 +{{plugins:multi_io:pasted:20240503-070500.png?300}}
 +
 +//Beispiel eines Solid State Relais Boards, [[https://www.az-delivery.de/products/4-kanal-solid-state-relais|(c) az-delivery.de]]//
 +
 +Wer höhere Lasten als 2A schalten will, kann auf die folgende Bauart zurückgreifen. Diese SSR gibt es aber nur als Einzelvariante - sie kosten ca. 5 EUR/Stück. Ein bekannter von mir schaltet damit in seiner Brauanlage eine Kochplatte mit 3500W ohne Probleme! Diese SSR gibt es üblicherweise in Varianten mit 25A oder 40A.
 +
 +{{plugins:multi_io:pasted:20240503-070804.png?300}}
 +
 +//Beispiel eines Solid State Relais mit 40A, [[https://botland.de/halbleiterrelais-ssr/14500-halbleiterrelais-ssr-fotek-40-da-40a-380vac-32vdc-5904422348267.html|(c) botland.de]]//
  
 ===== Konfiguration ===== ===== Konfiguration =====
Zeile 82: Zeile 126:
  
 {{plugins:multi_io:pasted:20230730-175250.png?400}} {{plugins:multi_io:pasted:20230730-175321.png?400}} {{plugins:multi_io:pasted:20230730-175250.png?400}} {{plugins:multi_io:pasted:20230730-175321.png?400}}
 +
 +===== Einrichtung in der Loxone Config Software =====
 +
 +=== Eingänge oder Messwerte auslesen ===
 +
 +Das Plugin sendet alle ausgelesenen Messwerte und die Stati der Eingänge per MQTT an den MQTT Broker bzw. das [[konfiguration:widget_help:widget_mqtt:|MQTT Gateway]]. Im Gateway muss das Topic des Plugins abonniert werden (standardmäßig lautet das Topic "multiio/#") - das wird aber automatisch vom Plugin gemacht. Bitte lest in der Dokumentation des [[konfiguration:widget_help:widget_mqtt:|MQTT Widget]] nach, wie genau die Werte in der Loxone Config verwendet werden: [[konfiguration:widget_help:widget_mqtt:mqtt_gateway:mqtt_schritt_fur_schritt_mqtt_loxone|MQTT - Schritt für Schritt: MQTT -> Loxone]]
 +
 +Topic für Eingänge: **''multiio/input/<name>''**
 +
 +Topic für Sensoren: **''multiio/sensor/<name>''**
 +
 +Ich behandele das Thema "Anlegen eines Virtuellen Eingangs" hier nur in Kürze:
 +
 +  * Virtuellen Eingang anlegen
 +  * Bezeichnung aus der Incoming Overview des Gateway kopieren und im Virtuellen Eingang exakt so einfügen. 
 +  * Als Digitaleingang verwenden: NEIN oder JA
 +  * Validierung korrekt setzen.
 +
 +=== Ausgänge ansteuern ===
 +
 +Befehle (Werte setzen) können an die Ausgänge über das Topic **''%%multiio/output/<name>/set%%''** gesendet werden. Dazu muss für das [[konfiguration:widget_help:widget_mqtt:|MQTT Gateway]] ein Virtueller Ausgang angelegt werden. Bitte lest in der Dokumentation des  [[[konfiguration:widget_help:widget_mqtt:|MQTT Gateway]] nach, wie genau die Werte in der Loxone Config verwendet werden: [[konfiguration:widget_help:widget_mqtt:mqtt_gateway:mqtt_schritt_fur_schritt_loxone_mqtt|MQTT - Schritt für Schritt: Loxone -> MQTT]]
 +
 +Um den Ausgang zu schalten, muss der im Ausgang konfigurierte "Payload for ON" bzw. "Payload for Off" (Case sensitive!) an das Topic gesendet werden.
 +
 +Standardmässig sind die Payloads **''ON''** und **''OFF''**, damit ergibt sich für den Virtuellen Ausgangsbefehl z. B. folgende Syntax:
 +
 +**''%%publish multiio/output/<name>/set%%''**   **''ON''**
 +
 +**''%%publish multiio/output/<name>/set%%''**   **''OFF''**
 +
 +Ich behandele das Thema "Anlegen eines Virtuellen Ausgangs" hier nur in Kürze:
 +
 +  * Virtuellen Ausgang anlegen, Adresse: /dev/udp/192.168.3.212/11884 (IP und ggf. Port müsst ihr anpassen)
 +  * Darunter einen "Virtuellen Ausgang Befehl" anlegen
 +  * Befehl bei EIN: **''%%publish multiio/output/<name>/set <PAYLOAD ON/OFF>%%''**
 +  * **//Optional: //**Befehl bei AUS analog setzen
 +  * Als Digitalausgang verwenden: ja
  
 ===== Roadmap ===== ===== Roadmap =====
Zeile 105: Zeile 186:
 pluginuebersicht.logo : :plugins:multi_io:1702985775.png pluginuebersicht.logo : :plugins:multi_io:1702985775.png
 pluginuebersicht.status : STABLE pluginuebersicht.status : STABLE
-pluginuebersicht.version : 1.0.2+pluginuebersicht.version : 1.1.2
 pluginuebersicht.min_lb_version : 2.2.2 pluginuebersicht.min_lb_version : 2.2.2
-pluginuebersicht.url_release : https://github.com/mschlenstedt/LoxBerry-Plugin-MultiIO/archive/refs/tags/LoxBerry-Plugin-MultiIO-1.0.2.zip+pluginuebersicht.url_release : https://github.com/mschlenstedt/LoxBerry-Plugin-MultiIO/archive/refs/tags/LoxBerry-Plugin-MultiIO-1.1.2.zip
 pluginuebersicht.url_prerelease :  pluginuebersicht.url_prerelease : 
 pluginuebersicht.description : Das Plugin kann verschiedene Hardware-Module als Ein- und Ausgänge am LoxBerry konfigurieren sowie einige Sensoren einbinden. pluginuebersicht.description : Das Plugin kann verschiedene Hardware-Module als Ein- und Ausgänge am LoxBerry konfigurieren sowie einige Sensoren einbinden.