Rolladenmotor steuern

Für welche Projekte verwendet Ihr OpenHAB? Was habt Ihr automatisiert? Stellt eure Projekte hier vor.

Moderatoren: Cyrelian, seppy

Antworten
Torti
Beiträge: 40
Registriert: 24. Mär 2019 09:42

Re: Rolladenmotor steuern

Beitrag von Torti »

Hallo, ich würde mich gerne hier anheften.
Ich habe auch einen Sonoff T1 2Gang mit dem Stefan Bode Fork geflasht.
Nun kann ich über das Webinterface des sonoffs das Teil Steuern.
Wenn ich dieses dann auch über MQTTLens mache klappt es auch noch.(cmnd/Sonoffs/TVLift/shutterposition 1-100 oder eben mit Shutteropen und -close)
Nun geht es auch über das openHab Binding (mit paper ui) aber so super mit den Öffnungswinkeln.
Ich bekomme es aber nicht hin, dieses ganze über die *.Items oder auch *.Sitemap so zu bastel, dass ich es über meine.Seitmap ( mit Eclipse SmartHome Designer) bedienen kann.
Ich habe erst einmal die Befehle vom Udo genommen, dann ist mir aufgefallen, diese sind MQTT1 ich wollte MQTT2.
Da ich absoluter Neuling bin, und auch nur 2 Geräte bislang habe, wollte ich direkt auf dem neuesten Stand sein.
Leider klappt es nicht soooo wie ich will.


Achja ich nutze Raspberry 3 mit openhabian und dem Mosquitto, mein erster Sonoff Basic lässt sich über die Seite bedienen und gibt auch zurück ob der Zustand an oder aus ist.

Danke schon einmal und ich bin mir sicher, hier sind die richtigen Ansprechpartner.

Gruß Thorsten

Benutzeravatar
udo1toni
Beiträge: 13858
Registriert: 11. Apr 2018 18:05
Answers: 222
Wohnort: Darmstadt

Re: Rolladenmotor steuern

Beitrag von udo1toni »

Das erste, was Du gleich tun solltest, ist, den Eclipse Smarthome Designer zu löschen. Dieses Programm wird bald 2 Jahre nicht mehr weiter entwickelt. Nimm stattdessen VSCode, siehe https://www.openhab.org/docs/configurat ... -extension

Wenn Du Things und Items über Paper UI anlegst, kannst Du diese genauso in der Sitemap oder auch in Rules verwenden, wie wenn Du sie über Textdateien anlegst.

Ansonsten kannst Du die mqtt Things folgendermaßen anlegen:

Code: Alles auswählen

Bridge mqtt:broker:mymqtt "Mosquitto" @ "mqtt" [
    host="192.168.1.100",    // die IP-Adresse des Systems, auf dem der mqtt Broker läuft
    port=1883,
    clientID="openHAB2-2"   // im mqtt Broker wird diese ID verwendet (sie muss eindeutig sein)
 ] {
     Thing topic sonoffT1_1 "sonoff T1 1" @ "mqtt" {
        Channels:
            Type number : pos "Position" [ stateTopic= "sonoff_t1/stat/SHUTTER1", commandTopic="sonoff_t1/cmnd/shutterposition1" ]
            Type switch : pos "Stop" [ stateTopic= "sonoff_t1/stat/SHUTTER1", commandTopic="sonoff_t1/cmnd/shutterstop" ]
            Type string : tele "Tele" [ stateTopic= "sonoff_t1/tele/STATE" ]
     }
 }
Um den Laden hoch oder runter zu fahren, nutzt Du einfach das Number Item mit einem Befehl 0 bzw. 100, zum Stoppen brauchst Du aber ein weiteres Item. Alternativ kann man eine Rule basteln, damit man die verschiedenen Steuerbefehle an die verschiedenen Channel schicken kann.
openHAB4.1.2 stable in einem Debian-Container (bookworm) (Proxmox 8.1.5, LXC), mit openHABian eingerichtet

Torti
Beiträge: 40
Registriert: 24. Mär 2019 09:42

Re: Rolladenmotor steuern

Beitrag von Torti »

Vielen Dank, da erzähle ich etwas von (Ich will es gleich neu machen und aktuell) und dann fange ich schon mit dem falschem, uralten Programm an ;-)
Ich werde es heute mittag mal testen.
Gruß

Torti
Beiträge: 40
Registriert: 24. Mär 2019 09:42

Re: Rolladenmotor steuern

Beitrag von Torti »

Hallo, erst einmal muss ich sagen:
"Grundsätzlich hatte es so funktioniert".
Ich habe nun aber nochmal versucht meinen Schalter als Rollershutter zu sehen und zu Bedienen. (Die Buttons finde ich besser angeordnet)
Dieses hat nun auch endlich geklappt.
Leider habe ich es nicht mit den Befehlen hin bekommen, sondern musste dann doch auf die Paper UI zurückgreifen.
Ist jetzt aber auch nicht weiter schlimm, denn wie du ja schon geschrieben hattest, funzt die Sitemap auch so ;-)
Naja einziges Problem was ich nun och habe, ist der Stopp Button, er bewirkt immer wieder die "0" Stellung des TV- Liftes.
Hast du evtl hier auch eine Lösung für.
Danke aber schon mal für deinen Einsatz und die bisherige Hilfe
Gruß

Benutzeravatar
udo1toni
Beiträge: 13858
Registriert: 11. Apr 2018 18:05
Answers: 222
Wohnort: Darmstadt

Re: Rolladenmotor steuern

Beitrag von udo1toni »

Wenn die Fahrzeiten korrekt gesetzt sind, sollte das eigentlich nicht passieren.
openHAB4.1.2 stable in einem Debian-Container (bookworm) (Proxmox 8.1.5, LXC), mit openHABian eingerichtet

Torti
Beiträge: 40
Registriert: 24. Mär 2019 09:42

Re: Rolladenmotor steuern

Beitrag von Torti »

Ich habe dem Channel Rollershutter nun den Befehl: cmnd/sonoffs/TVlift/Shutterposition gegeben.
als Up Befehl nehme ich die 0
als Down Befehl die 100

das klappt supi.

Nur das Problem mit dem mittleren Button, dem Stop. habe ich ja wie du schon geschrieben hattest, dass Problem,dass dieser nicht auf shutterposion reagiert. gibt es die Möglichkeit den Befehl anders zu Splitten??

So in der Art: cmnd/sonoffs/tvlift
UP= shutterclose
Down=shutteropen
stop=shutterstop

?? :?

Benutzeravatar
udo1toni
Beiträge: 13858
Registriert: 11. Apr 2018 18:05
Answers: 222
Wohnort: Darmstadt

Re: Rolladenmotor steuern

Beitrag von udo1toni »

Torti hat geschrieben: 29. Mär 2019 08:32 gibt es die Möglichkeit den Befehl anders zu Splitten??

So in der Art: cmnd/sonoffs/tvlift
UP= shutterclose
Down=shutteropen
stop=shutterstop
Nein, das geht so leider nicht, das Problem ist hier, dass es sich um Teile des Topics handelt. Du musst pro Topic einen eigenen Channel definieren. Das Topic wird ohne Payload gesendet, was openHAB so gar nicht unterstützt. entweder, es ist Tasmota egal, ob da Payload mit kommt, oder man muss den Umweg über logback gehen, also das logback topic ansteuern und dort den Befehl im Klartext hin schicken.

Channel

Code: Alles auswählen

Type string : logback "logback" [ commandTopic="cmnd/mysonoff/logback" ]
Item

Code: Alles auswählen

String mysonoffLogback "logback" { channel="mqtt:topic:bridge:mysonoff:logback" }
Und dann z.B. in einer Rule

Code: Alles auswählen

mysonoffLogback.sendCommand("shutterstop")
Das habe ich aber bisher auch noch nicht ausprobiert.
openHAB4.1.2 stable in einem Debian-Container (bookworm) (Proxmox 8.1.5, LXC), mit openHABian eingerichtet

Torti
Beiträge: 40
Registriert: 24. Mär 2019 09:42

Re: Rolladenmotor steuern

Beitrag von Torti »

Hallo, sorry das ich erst jetzt Antworte. Am Wochenende ist es nicht so einfach mich an den Computer zu schleichen.
Ich werde nächste Woche mal noch einiges durchtesten. Du hast mir aber die Logik von MQTT näher gebracht, ich wollte es halt auch schön haben.
Ist für mich als Netzwerkadmin in einem RZ komplettes Neuland.
Vielen dank für die Unterstützung.

mcdandrew
Beiträge: 163
Registriert: 13. Dez 2018 17:42

Re: Rolladenmotor steuern

Beitrag von mcdandrew »

Ich bin derzeit dran meiner letzten per MQTT1 eingebundenen Geräte auf MQTT2 umzurüsten...es scheitert allerdings.

Es handelt sich um Sonoff Duals mit Tasmota Firmware welche per Rollershutter Item eingebunden sind.

Derzeit sind das ganze so aus

Code: Alles auswählen

//###Terrassenfenster links##
//Rollershutter Dual_WZ_TF_links   	"Terrassenfenster links [%d%%]" (grp_rolladen, grp_rolladen_morning, grp_rolladen_evening, grp_rolo_wz) 		    { mqtt=">[mosquitto:cmnd/dual_wz_tf_l/shutterposition1:command:*:default]", autoupdate="false" }
//Rollershutter Dual_WZ_TF_links_ud 	"Terrassenfenster links [%d%%]" (grp_rolladen_ud, grp_rolladen_morning_ud, grp_rolladen_evening_ud, grp_rolo_wz_ud) 	{ mqtt=">[mosquitto:cmnd/dual_wz_tf_l/shutteropen1:command:UP:null],>[mosquitto:cmnd/dual_wz_tf_l/shutterclose1:command:DOWN:null],>[mosquitto:cmnd/dual_wz_tf_l/shutterstop1:command:STOP:null],<[mosquitto:stat/dual_wz_tf_l/SHUTTER1:state:default],<[mosquitto:tele/dual_wz_tf_l/SENSOR:state:JSONPATH($.SHUTTER-1)]", autoupdate="false" }
Ich habe es nun (nach dem Vorbild meiner T1 Taster wie folgt gelöst..

Thing-File

Code: Alles auswählen

Thing mqtt:topic:mqttbroker:dual_wz_tf_l "MQTT Thing: Dual Terrassenfenster links" (mqtt:broker:mqttbroker) @ "MQTT"  
{ 
	Channels:
		Type rollershutter	: Dual_WZ_TF_links1		[ stateTopic="stat/Dual_WZ_TF_links/POWER1", commandTopic="cmnd/Dual_WZ_TF_links/POWER1", postCommand="true" ]
		Type rollershutter	: Dual_WZ_TF_links2 	[ stateTopic="stat/Dual_WZ_TF_links/POWER2", commandTopic="cmnd/Dual_WZ_TF_links/POWER2", postCommand="true" ]
}
Item-File

Code: Alles auswählen

rollershutter Dual_WZ_TF_links1			"Power Switch 1"		{ channel="mqtt:topic:mqttbroker:dual_wz_tf_l:Dual_WZ_TF_links1" }
rollershutter Dual_WZ_TF_links2			"Power Switch 2"		{ channel="mqtt:topic:mqttbroker:dual_wz_tf_l:Dual_WZ_TF_links1" }



Benutzeravatar
udo1toni
Beiträge: 13858
Registriert: 11. Apr 2018 18:05
Answers: 222
Wohnort: Darmstadt

Re: Rolladenmotor steuern

Beitrag von udo1toni »

Es gibt zwei Möglichkeiten (genaugenommen drei):
  1. Du nutzt die Switch Channel als Switches. Jeder Schaltkanal ein Switch. Falls Du die Rückmeldung über das JSON Objekt tele/sonoffdevice/STATE mit auswerten willst, muss das über einen getrennten Channel passieren. Du kannst aber die Channel an ein Item koppeln (allerdings nur Switch Items, da auch die Channel vom Typ Switch sind).
    Damit Du in der Oberfläche trotzdem normale Rollershutter sehen kannst, musst Du zusätzlich ein Proxy Item verwenden, welches Du dann mittels Rules an die "echten" Schaltkanäle anbindest (in beide Richtungen).
  2. Du hebst die Tasmota Version auf den neuesten development Stand (6.6.0.16), leider musst Du dazu selbst kompilieren, aber der Aufwand hält sich glücklicherweise in Grenzen. In dieser Version wurde der Fork von Stefan Bode gemerged.
  3. Du nutzt den Fork von Stefan Bode. Dieser Fork unterstützt rollershutter direkt (und zwar inklusive Position!)
Leider ist auch die direkte Rollershutterfunktion nicht ganz einfach umsetzbar, weil die Commands als Topics ohne Payload gesendet werden. Man muss also mit MQTT2 ebenfalls einen Umweg über Rules gehen, weshalb bei mir momentan sowohl mqtt1 als auch mqtt2 parallel laufen (v1 nur für Rollershutter).
openHAB4.1.2 stable in einem Debian-Container (bookworm) (Proxmox 8.1.5, LXC), mit openHABian eingerichtet

Antworten