Funksteckdose mit Raspi über MQTT schalten

Moderatoren: seppy, udo1toni

Jojo
Beiträge: 26
Registriert: 5. Mär 2019 21:13

Re: Funksteckdose mit Raspi über MQTT schalten

Beitrag 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
--

Gruß

Jojo

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

Re: Funksteckdose mit Raspi über MQTT schalten

Beitrag 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



Jojo
Beiträge: 26
Registriert: 5. Mär 2019 21:13

Re: Funksteckdose mit Raspi über MQTT schalten

Beitrag 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
Du hast keine ausreichende Berechtigung, um die Dateianhänge dieses Beitrags anzusehen.
--

Gruß

Jojo

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

Re: Funksteckdose mit Raspi über MQTT schalten

Beitrag 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.

Jojo
Beiträge: 26
Registriert: 5. Mär 2019 21:13

Re: Funksteckdose mit Raspi über MQTT schalten

Beitrag von Jojo »

Zuerst mal:
DAAAAAAAAAAANKE.

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

Gruß

Jojo

Jojo
Beiträge: 26
Registriert: 5. Mär 2019 21:13

Re: Funksteckdose mit Raspi über MQTT schalten

Beitrag 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
--

Gruß

Jojo

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

Re: Funksteckdose mit Raspi über MQTT schalten

Beitrag von udo1toni »

Nein, das ist keine Option, Du provozierst damit eine Fehlfunktion. Du darfst nicht mit unterschiedlichen Channels auf das selbe Topic zugreifen.

Jojo
Beiträge: 26
Registriert: 5. Mär 2019 21:13

Re: Funksteckdose mit Raspi über MQTT schalten

Beitrag 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 !!!!
--

Gruß

Jojo

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

Re: Funksteckdose mit Raspi über MQTT schalten

Beitrag 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

Antworten