Guten Tag,
ich versuche mich gerade darin, mit openhab 3 die Steuerung meiner Aussenanlage (Licht, Schwimmbadpumpe, Linearmotoren zum
Öffnen/Schließen eines Schachtes, etc) zu realisieren. Ich habe vor Jahren bereits kurz mit openhab 2 gearbeitet (Ansteuerung
von Funksteckdosen), bin aber ansonsten absoluter Neuling. (Ich hatte in openhab 2 die Funksteckdosen mir dem Exec-Binding,
codesend und einem Shell-Skript realisiert.)
Mit openhab 3 habe ich nun per Shellys und Sonoffs die Licht-/Pumpensteuerung erstellt.
Bei der Ansteuerung der 12V-Linearmotoren, die ich momentan über eine Eco-Worthy-Steuerung per Funkfernbedienung
(433 MHz) schalte, hätte ich eine Frage zur Entscheidungshilfe:
(Die Ansteuerung der Linearmotoren (UP/DOWN/STOP) ist grundsätzlich analog zu einer Rolladensteuerung.)
1. Ich könnte einen Shelly2.5 nehmen, da der aber anscheinend mind. 30V benötigt und keine potentialfreien Ausgänge hat,
müsste ich die Ausgangspannung für die Motoren per zwischengeschalteten Relais auf 12V bringen.
2. Wenn ich stattdessen die Eco-Worthy-Funksteuerung weiter nutze, würde man unter openhab3 wieder mit dem Exec-Binding
arbeiten oder wie würde man das Senden der Funk-Codes realisieren?
(3. Würde man den MQTT nutzen können?)
4. Auf der Funkfernbedienug habe ich folgende Tasten:
Dauer-UP
Dauer-DOWN
UP-Taster
DOWN-Taster
Alle Codes sind ausgelesen. Es gibt aber keinen expliziten STOP-Code. Die Steuerung geht auf STOP, wenn man
die momentan gewählte Funktion erneut drückt (z.B. bei Dauer-UP: STOP mit erneutem Drücken von Dauer-UP),
d.h. ich müsste zum Stoppen den vorheringen Zustand wissen und diesen Code erneut senden.
Vielleicht kann mich jemand auf den "richtigen" Weg bringen, wie man die Ansteuerung am besten mit openhab 3
angeht und ein "von hinten durch die Brust ins Auge" vermeidet.
Vielen Dank und Grüße,
Thomas
Motorsteuerung Linearmotoren
- udo1toni
- Beiträge: 15271
- Registriert: 11. Apr 2018 18:05
- Wohnort: Darmstadt
Re: Motorsteuerung Linearmotoren
Ich möchte Dir statt des Shelly 2.5 für die Anwendung eher den Sonoff 4CH pro empfehlen. Der hat vier potentialfreie Relaiskontakte, Speisespannung 5 - 24 Volt und lässt sich mit Tasmota flashen. Die Einbindung in openHAB läuft dann über MQTT.
Ob Du die Motoren direkt anschließt oder alternativ die Eco-Worthy-Steuerung ansteuerst, kannst Du Dir dann frei aussuchen. Der Sonoff bietet (speziell mit Tasmota) mannigfaltige Möglichkeiten, z.B. gegenseitige Verriegelung der Relais (auch paarweise oder nur für ein Relaispaar).
Eine direkte Ansteuerung der Motoren ist natürlich nur dann sinnvoll, wenn die Motoren überlastfest sind.
Es ist in Tasmota auch möglich, die Einschaltdauer der Motoren vorzugeben (und damit eine prozentuale Steuerung).
Eine weitere Möglichkeit wäre ein Sonoff RF, mit dem Du die Fernsteuercodes senden kannst, dann fehlt aber jegliche Rückmeldung und Du musst das "Stop-Problem" unelegant lösen. Grundsätzlich ist aber auch das kein großes Thema, Du musst lediglich in einem Item speichern, welche "Taste" zuletzt gesendet wurde. Wenn Du Stop senden willst, sendest Du die gleiche Taste noch mal und leerst das Item anschließend. Über eine regel musst Du das Item außerdem leeren, wenn über eine festgelegte Zeitspanne keine weitere Taste gesendet wurde - weil dann der Motor in der Endlage angekommen ist und die Steuerung vermutlich selbst auf Stop gegangen ist.
Ob Du die Motoren direkt anschließt oder alternativ die Eco-Worthy-Steuerung ansteuerst, kannst Du Dir dann frei aussuchen. Der Sonoff bietet (speziell mit Tasmota) mannigfaltige Möglichkeiten, z.B. gegenseitige Verriegelung der Relais (auch paarweise oder nur für ein Relaispaar).
Eine direkte Ansteuerung der Motoren ist natürlich nur dann sinnvoll, wenn die Motoren überlastfest sind.
Es ist in Tasmota auch möglich, die Einschaltdauer der Motoren vorzugeben (und damit eine prozentuale Steuerung).
Eine weitere Möglichkeit wäre ein Sonoff RF, mit dem Du die Fernsteuercodes senden kannst, dann fehlt aber jegliche Rückmeldung und Du musst das "Stop-Problem" unelegant lösen. Grundsätzlich ist aber auch das kein großes Thema, Du musst lediglich in einem Item speichern, welche "Taste" zuletzt gesendet wurde. Wenn Du Stop senden willst, sendest Du die gleiche Taste noch mal und leerst das Item anschließend. Über eine regel musst Du das Item außerdem leeren, wenn über eine festgelegte Zeitspanne keine weitere Taste gesendet wurde - weil dann der Motor in der Endlage angekommen ist und die Steuerung vermutlich selbst auf Stop gegangen ist.
openHAB4.3.6 stable in einem Debian-Container (bookworm) (Proxmox 8.4.1, LXC), mit openHABian eingerichtet
-
- Beiträge: 4
- Registriert: 7. Jul 2017 08:45
Re: Motorsteuerung Linearmotoren
Hallo Udo,
... das hört sich alles sehr gut an.
Besten Dank,
Thomas
... das hört sich alles sehr gut an.
Besten Dank,
Thomas
-
- Beiträge: 4
- Registriert: 7. Jul 2017 08:45
Re: Motorsteuerung Linearmotoren
Hallo,
nachdem ich nun die Linearmotor-Ansteuerung mittels 433MHz-Eco-Worthy-Steuerung prinzipiell per Rollershutter-Item und den entsprechenden
Rules (Tipp mit dem "Status-Item" war perfekt) eingerichtet hab, möchte ich die Sonoff 4Ch-Lösung trotzdem vorziehen.
Dazu sollte folgende Schaltung realisiert werden (der Linearmotor besitzt Endschalter für den oberen und unteren Anschlag):
Folgendes hab ich gemacht:
- Sonoff4CHProR3 mit Tasmota geflasht
- für den Sonoff in OH3 ein Generic MQTT-Thing angelegt
- für die ersten beiden Relais einen Channel angelegt (Rollershutter)
Jetzt brauche ich eine Rollershutter-Item/Channel-Konfiguration, bei der folgendes passieren soll:
- Pfeil oben: Channel 1 aus und Channel 2 ein
- Pfeil unten: Channel 1 ein und Channel 2 aus
- Stop: beide Channel aus
Wäre diese Konfifguration so korrekt (funktionieren tut sie jedenfalls)?
Openhab meckert allerdings in den logs, dass er mit den RollershutterValues nichts anfangen kann:
Zudem möchte ich, dass sich das/ein geschaltetes Relais nach einer bestimmten Zeit ausschaltet. Dies würde ich mit der PulseTime
direkt unter Tasmota einstellen.
Kann ich die angezeigten Warnmeldungen ingnorieren oder gibt es vielleicht eine bessere Konfiguration?
Danke & Gruß,
Thomas
nachdem ich nun die Linearmotor-Ansteuerung mittels 433MHz-Eco-Worthy-Steuerung prinzipiell per Rollershutter-Item und den entsprechenden
Rules (Tipp mit dem "Status-Item" war perfekt) eingerichtet hab, möchte ich die Sonoff 4Ch-Lösung trotzdem vorziehen.
Dazu sollte folgende Schaltung realisiert werden (der Linearmotor besitzt Endschalter für den oberen und unteren Anschlag):
Folgendes hab ich gemacht:
- Sonoff4CHProR3 mit Tasmota geflasht
- für den Sonoff in OH3 ein Generic MQTT-Thing angelegt
- für die ersten beiden Relais einen Channel angelegt (Rollershutter)
Jetzt brauche ich eine Rollershutter-Item/Channel-Konfiguration, bei der folgendes passieren soll:
- Pfeil oben: Channel 1 aus und Channel 2 ein
- Pfeil unten: Channel 1 ein und Channel 2 aus
- Stop: beide Channel aus
Wäre diese Konfifguration so korrekt (funktionieren tut sie jedenfalls)?
Code: Alles auswählen
UID: mqtt:topic:0631afb31b:7894333dc2
label: Sonoff4CHProR3_01
thingTypeUID: mqtt:topic
configuration: {}
bridgeUID: mqtt:broker:0631afb31b
channels:
- id: channel1a
channelTypeUID: mqtt:rollershutter
label: channel1a
description: ""
configuration:
commandTopic: cmnd/Sonoff4CHPROR3_01/POWER1
stop: "0"
qos: 1
stateTopic: stat/Sonoff4CHPROR3_01/POWER1
off: "0"
on: "1"
- id: channel2a
channelTypeUID: mqtt:rollershutter
label: channel 2a
description: ""
configuration:
commandTopic: cmnd/Sonoff4CHPROR3_01/POWER2
qos: 1
stop: "0"
stateTopic: stat/Sonoff4CHPROR3_01/POWER2
off: "1"
on: "0"
Code: Alles auswählen
[WARN ] [ab.binding.mqtt.generic.ChannelState] - Command 'OFF' not supported by type 'RollershutterValue': Cannot call update() with OFF
[WARN ] [ab.binding.mqtt.generic.ChannelState] - Command 'ON' not supported by type 'RollershutterValue': Cannot call update() with ON
direkt unter Tasmota einstellen.
Kann ich die angezeigten Warnmeldungen ingnorieren oder gibt es vielleicht eine bessere Konfiguration?
Danke & Gruß,
Thomas
Du hast keine ausreichende Berechtigung, um die Dateianhänge dieses Beitrags anzusehen.
- udo1toni
- Beiträge: 15271
- Registriert: 11. Apr 2018 18:05
- Wohnort: Darmstadt
Re: Motorsteuerung Linearmotoren
Nope.
Du musst für die ersten beiden Channel im Sonoff die Betriebsart auf Rollershutter einstellen. Schau mal hier: https://tasmota.github.io/docs/Blinds-and-Shutters/ Die notwendigen Befehle im Einzelnen:
In der Tasmoata Konsole (oder alternativ über mqtt, aber einfacher in der Konsole direkt, In Klammern steht jeweils dabei, was der Befehl macht, das ist nur zur Info):
Die beiden Zeiten OpenDuration und CloseDuration sind die Zeiten, die der Motor braucht, um den Schacht vollständig zu öffnen bzw. zu schließen. Die Zeit sollte möglichst genau passen, damit eine Zwischenposition korrekt dargestellt werden kann. Du kannst Die Zeit aber auch großzügig zu hoch bemessen und erst bei den ersten Fahrten mit der Steuerung nachmessen, wie lang der Motor tatsächlich läuft. Leider hat der Sonoff keine Strommessung integriert, sonst könnte man diesen Vorgang sogar automatisieren (wobei das nicht integriert ist... lohnt also nicht... man könnte aber sonst die exakten Einschaltzeiten zumindest aus dem Log auslesen - eben da, wo die Stromaufnahme extrem absinkt, weil der Endschalter den Motor stoppt).
Wenn die Zeiten einigermaßen passen (auf die Zehntelsekunde genau muss es vielleicht gar nicht sein), reagiert der eine(!) Steuerkanal dann passend.
In openHAB musst Du also nur einen(1) Rollershutter Channel anlegen, mit dem commandTopic cmnd/sonoff4ch/ShutterPosition1 und dem stateTopic stat/sonoff4ch/SHUTTER1. (gegeben, dass das full topic auf default steht, also %prefix%/%topic%/ und das topic auf sonoff4ch gesetzt ist.)
Anschließend sollten die Motoren direkt über das verknüpfte Rollershutteritem steuerbar sein, sowohl mit den Steuerbefehlen UP/STOP/DOWN (die werden z.B. durch ein passendes Widget gesendet) als auch über direkte Positionen (0 - 100 als Ganzzahl, z.B. durch eine Rule).
Du musst für die ersten beiden Channel im Sonoff die Betriebsart auf Rollershutter einstellen. Schau mal hier: https://tasmota.github.io/docs/Blinds-and-Shutters/ Die notwendigen Befehle im Einzelnen:
In der Tasmoata Konsole (oder alternativ über mqtt, aber einfacher in der Konsole direkt, In Klammern steht jeweils dabei, was der Befehl macht, das ist nur zur Info):
Code: Alles auswählen
SetOption80 1 (Schaltet den Support für Rollershutter ein)
Restart 1 (Bootet das Device durch, damit die Einstellung übernommen wird - Anschließend sollte in der Startansicht der Tasmota Oberfläche bereits die Möglichkeit vorhanden sein, die Relaisgruppe 1 zu steuern - was wir noch nicht tun)
Interlock 1,2 (sorgt dafür, dass nur jeweils eines der beiden Relais 1 oder 2 anziehen kann)
Interlock ON (Aktiviert den Interlock)
ShutterSetClose1 (fährt die geschlossen-Position an. Dies sollte schon die aktuelle Position sein)
ShutterOpenDuration1 xxx.x (xxx.x ist eine Zahl zwischen 1 und 255, eine Nachkommastelle ist erlaubt)
ShutterCloseDuration1 xxx.x (xxx.x ist eine Zahl zwischen 1 und 255, eine Nachkommastelle ist erlaubt)
Wenn die Zeiten einigermaßen passen (auf die Zehntelsekunde genau muss es vielleicht gar nicht sein), reagiert der eine(!) Steuerkanal dann passend.
In openHAB musst Du also nur einen(1) Rollershutter Channel anlegen, mit dem commandTopic cmnd/sonoff4ch/ShutterPosition1 und dem stateTopic stat/sonoff4ch/SHUTTER1. (gegeben, dass das full topic auf default steht, also %prefix%/%topic%/ und das topic auf sonoff4ch gesetzt ist.)
Anschließend sollten die Motoren direkt über das verknüpfte Rollershutteritem steuerbar sein, sowohl mit den Steuerbefehlen UP/STOP/DOWN (die werden z.B. durch ein passendes Widget gesendet) als auch über direkte Positionen (0 - 100 als Ganzzahl, z.B. durch eine Rule).
openHAB4.3.6 stable in einem Debian-Container (bookworm) (Proxmox 8.4.1, LXC), mit openHABian eingerichtet
-
- Beiträge: 4
- Registriert: 7. Jul 2017 08:45
Re: Motorsteuerung Linearmotoren
super ... funktioniert einwandfrei!
(sorry, dass ich mich nicht informiert hatte, dass man eine Rollershutter-Funktion unter
Tasmota einstellen kann/muss.)
Besten Dank,
Thomas
(sorry, dass ich mich nicht informiert hatte, dass man eine Rollershutter-Funktion unter
Tasmota einstellen kann/muss.)
Besten Dank,
Thomas
- udo1toni
- Beiträge: 15271
- Registriert: 11. Apr 2018 18:05
- Wohnort: Darmstadt
Re: Motorsteuerung Linearmotoren
Prima!
Ach, da nicht für...

openHAB4.3.6 stable in einem Debian-Container (bookworm) (Proxmox 8.4.1, LXC), mit openHABian eingerichtet