Seite 2 von 6

Re: Funksteckdose mit Raspi über MQTT schalten

Verfasst: 5. Sep 2020 14:11
von Jojo
Nur mal zum Verständnis:
Über die Bridge frage ich den Broker ab.
Mit dem Thing Steckdosen ordne ich der Variablen Funksteckdose_1 das zu was unter /home/data/TV gesendet wird
Mit dem Item sage ich dann wenn da was kommt das on oder off ist handle entsprechend ?

Stimmt das so ?

Danke

Re: Funksteckdose mit Raspi über MQTT schalten

Verfasst: 5. Sep 2020 14:46
von udo1toni
Nein.

Die Bridge ist die Verbindung von openHAB zum Broker, soweit ist das richtig.
Das Thing ist Teil der Organisationsstruktur. Im Thing gibt es Channel. Im Channel definierst Du für ankommende Nachrichten ein stateTopic und/oder für abgehende Nachrichten ein commandTopic.

Funksteckdose_1 ist keine Variable, sondern der Itemname des Items, welches Du nicht brauchst. funksteckdose_1 ist der Name des Channels.

Der Channel wird mit dem vorhandenen Item verlinkt, wodurch dieses Item dem Channel folgt (mit dem Profile "follow").


Gesendet von meinem SM-G973F mit Tapatalk



Re: Funksteckdose mit Raspi über MQTT schalten

Verfasst: 14. Sep 2020 08:44
von Jojo
Sodala,
kurz nachdem ich dachte ich habe es verstanden ...
Über meine Bridge:

Code: Alles auswählen

Bridge mqtt:broker:JojoBroker [
host="192.168.", 
username="", 
password ="", 
secure="false" ]
{

    Thing topic Steckdosen "Steckdosen" @ "MQTT" {
    Channels:
       Type switch : SteckdoseMusik [ commandTopic="/home/data/Musik/" , ON="ON", OFF="OFF"]
       Type switch : SteckdoseTV  [commandTopic="/home/data/TV"]

       Type string : SteckdoseMusikT [stateTopic="/home/data/Musik/"]
       Type string : SteckdoseTVT [ stateTopic="/home/data/TV/" ] 
	}
              
                                                                                                  
}
und diese Items

Code: Alles auswählen

String SteckdoseTVT   "Fernseher" { channel="mqtt:topic:JojoBroker:Steckdosen:SteckdoseTVT" }
String SteckdoseMusikT "Anlage"   { channel="mqtt:topic:JojoBroker:Steckdosen:SteckdoseMusikT"}



Switch SteckdoseTV "Büro TV" <poweroutlet> (grp_poweroutlets) [ "Switchable" ]  { channel="exec:command:poweroutletB-control:input", channel="mqtt:topic:JojoBroker:Steckdosen:SteckdoseTV" [profile="follow"]}
String SteckdoseMusik "Büro Musik" <poweroutlet> (grp_poweroutlets) [ "Switchable" ]  { channel="exec:command:poweroutletC-control:input", channel="mqtt:topic:JojoBroker:Steckdosen:SteckdoseMusik" [profile="follow"]}
String poweroutletCSwitch "Musik Büro" <poweroutlet> (grp_poweroutlets) [ "Switchable" ] { channel="exec:command:poweroutletC-control:input", channel="mqtt:topic:JojoBroker:SteckdoseTV" [profile="follow"]}
baue ich folgende sitemap:

Code: Alles auswählen

Frame label="Wandgehäuse" {
	Switch item=SteckdoseMusik   mappings=[ "ON"="ON", "OFF"="OFF" ]
	Switch item=SteckdoseTV mappings=[on="ON", off="OFF"]
	Text item=SteckdoseTVT
	Text item=SteckdoseMusikT
Switch item=poweroutletCSwitch   mappings=[ "ON"="ON", "OFF"="OFF" ]
    }
damit ich damit
IMG_2930.JPG
die Funksteckdosen schalten kann, an denen TV oder Musik hängen.
Geht aber nicht.
Kann mir jemand verraten warum ?
Durch Druck auf die entsprechende Taste am Touchscreen geht eine MQTT Message raus, die kommt auch an. Das sehe ich an den beiden Text items.
Die Steckdosen sind auch über die Schaltflächen der Ui schaltbar, aber nicht über denTouchscreen ??

Langsam verzweifele ich.

Vielen Dank im Voraus

Re: Funksteckdose mit Raspi über MQTT schalten

Verfasst: 14. Sep 2020 19:02
von udo1toni
Du darfst die Channel eines Things nicht identisch benennen! Jeder Channel muss einen eindeutigen Namen haben.

Weiterhin sollte es zwei unterschiedliche Topics für In und Out geben. Du möchtest die Schaltflächen in Touchscreen vermutlich auch umschalten, wenn in openHAB geschaltet wird. Falls Du die Schnittstelle des Touchscreen selbst programmierst, musst Du also ein zusätzliches Topic für den Status programmieren, welches der Touchscreen MQTT Client abonnieren muss. Achte darauf, dass die Groß/Kleinschreibung beachtet wird. ON ist nicht das gleiche wie on. Achte darauf, dass der Client ON und OFF als Payload (in und out) verwendet. Dann sieht die Konfiguration so aus:

Code: Alles auswählen

Bridge mqtt:broker:JojoBroker [
    host="192.168.", 
    username="", 
    password ="", 
    secure="false" ]
    {
        Thing topic Steckdosen "Steckdosen" @ "MQTT" {
        Channels:
            Type switch : SteckdoseMusik [ commandTopic="/home/datain/Musik/",stateTopic="/home/dataout/Musik/ ]
            Type switch : SteckdoseTV    [ commandTopic="/home/datain/TV",    stateTopic="/home/dataout/TV/" ]
        }
    }
Ich habe hier die Topics dataout für die Senderichtung (vom Touchscreen zu openHAB) und datain für die Empfangsrichtung (von openHAB zum Touchscreen) gewählt, aber das musst Du natürlich so anpassen, dass es zum Client passt.
Ein / zu Beginn des Full Topic ist übrigens zwar möglich, aber verpönt.

Re: Funksteckdose mit Raspi über MQTT schalten

Verfasst: 15. Sep 2020 19:16
von Jojo
Zuerst mal:
DAAAAAAAAAAANKE.

Ich habe es noch nicht probiert, aber das ist zuerst mal das wichtigste!!!

Re: Funksteckdose mit Raspi über MQTT schalten

Verfasst: 17. Sep 2020 19:04
von Jojo
So,
ich habe in langen Jahren Beschäftigung mit PC´s und Azubi´s gelernt nicht zu verzweifeln.

Nun aber bin ich kurz vor einem Rückfall :?

Es geht immer noch nicht,
ich haybe die Channels umbenannt ( die namen waren vorher auch nicht gleich, man achte auf das "T" hinten )

Code: Alles auswählen

 Thing topic Steckdosen "Steckdosen" @ "MQTT" {
    Channels:
       Type switch : SteckdoseMusik [ commandTopic="home/data/Musik/" ]
       Type switch : SteckdoseTV  [commandTopic="home/data/TV"]

       Type string : TextMusik [stateTopic="/home/data/Musik/"]
       Type string : TextTV [ stateTopic="/home/data/TV/" ] 
	}
Die Idee mit der Rückgabe an den Touchscreen, respektive den ESP dahinter ist super. Aber erstmal will ich diese Steckdose schalten ...

Gibtes noch irgend wen mit irgendwelchen Ideen ?

Vielen Dank im Voraus

Re: Funksteckdose mit Raspi über MQTT schalten

Verfasst: 17. Sep 2020 22:37
von udo1toni
Nein, das ist keine Option, Du provozierst damit eine Fehlfunktion. Du darfst nicht mit unterschiedlichen Channels auf das selbe Topic zugreifen.

Re: Funksteckdose mit Raspi über MQTT schalten

Verfasst: 18. Sep 2020 14:15
von Jojo
OK. Kapiert

Leider haben sich die beiden Funksteckdosen jetzt verabschiedet :x

Ich weiß noch nicht ob ich neue hole oder was anderes probiere ....

Danke für die Hilfe !!!!

Re: Funksteckdose mit Raspi über MQTT schalten

Verfasst: 18. Sep 2020 15:48
von udo1toni
Was heißt verabschiedet? Kann ich mir irgendwie gar nicht vorstellen, bei mir laufen in der Zwischenzeit etliche ESP8266-basierte Steckdosen bzw. Module, ich hatte bisher noch nicht mit Ausfällen zu kämpfen.


Gesendet von iPad mit Tapatalk

Re: Funksteckdose mit Raspi über MQTT schalten

Verfasst: 27. Sep 2020 15:35
von Jojo
Sorry ,
heute erst gelesen.
Die Jungs schalten nicht mehr.
Habe sie nun durch Gosund WLAN Dosen mit Tasmota ersetzt.

Geht zwar auch nicht :( aber ich versuche gerade mich selber reinzufinden ...