Erledigt - Wie schalte ich über JSON?


#1

Am Beispiel des Rollladenaktors HM-LC-BI1PBU-FM mache ich gerade meine ersten ‘Gehversuche’ mit der JSON-Syntax. Ich kann die Daten auslesen und weiterverarbeiten. Wenn ich aber versuche, einen Schaltvorgang auszulösen laufe ich ins Leere.

Topic ist: homegear/1234-5678-9abc/jsonobj/4/1
Payload: {“DIRECTION”:0,“LEVEL”:0,“WORKING”:false}

Diese Schaltbefehle habe ich versucht, funktionieren aber nicht:
homegear/1234-5678-9abc/set/jsonobj/4/1/STATE { “LEVEL”: 1 }
homegear/1234-5678-9abc/set/jsonobj/4/1/LEVEL { “LEVEL”: 1 }

Kann mir hier bitte jemand ein funktionierendes Beispiel geben? Mein Ziel ist, ganz von FHEM wegzukommen und die HomeMatic-Komponenten ausschließlich über Homegear und NodeRed anzusprechen.


#2

Gemäß https://doc.homegear.eu/data/homegear/communication_protocols.html#mqtt solltest Du jsonobj im Topic durch set ersetzen.
Der payload kann dann im json Format sein oder auch nur den Wert enthalten - siehe Doku.


#3

Guter Hinweis, wer lesen kann ist klar im Vorteil. Aber auch mit
homegear/1234-5678-9abc/set/4/1/STATE xxx
homegear/1234-5678-9abc/set/4/1/LEVEL xxx

erziele ich kein Ergebnis.


#4

Ich weiß jetzt nicht was im “xxx” steht, aber mit homegear/1234-5678-9abc/set/4/1/LEVEL und payload 0.5 sollte er zB etwa in die Mitte fahren. Funktioniert zumindest bei mir … gerade ausprobiert. Sonst hilft evtl noch ein Blick in homegear.log und/oder homegear.err


#5

Danke, dies ist doch mal ein Hinweis! In .err finde ich eine Menge Hinweise wie

  • Packet has no payload oder
  • MQTT payload has unknown format

Was hast Du in Deiner MQTT.conf aktiviert? plainTopic und jsonobjTopic oder nur plainTopic? Vielleicht liegt es ja auch daran - ich habe nur jsonobjTopic = true gesetzt.


#6

Die mqtt.conf sollte hier eigentlich egal sein, da das mMn nur das Publishen der Topics betrifft. Aber ich habe JSON deaktiviert.
Womit sendest Du denn die Topics?


#7

Ich publishe über den MQTT Explorer oder über NodeRed.


#8

Dann probiere doch mal über die Kommandozeile
mosquitto_pub -t homegear/a20/set/4/1/LEVEL -m "0.5"
dort wo auch der MQTT Broker installiert ist und schaue ins Log. Damit haben wir Probleme mit anderen Programmen ausgeschlossen.
Wenn mosquitto_pub nicht installiert ist musst Du evtl noch das Paket mosquitto-clients installieren.


#9

Danke für Deine Geduld. Im Log steht:
03/08/19 22:24:16.920 Module HomeMatic BidCoS: Info: Setting peer to unreachable, because the queue processing was interrupted.
03/08/19 22:24:16.920 Module HomeMatic BidCoS: Info: Queue is not finished (peer: 4). Retrying…
03/08/19 22:24:17.020 Module HomeMatic BidCoS: CUL “My-CUL”: Info: Sending (My-CUL): 0C1BA011FD0001384E27020100
03/08/19 22:24:17.220 Module HomeMatic BidCoS: CUL “My-CUL”: Info: Sending (My-CUL): 0C1BA011FD0001384E27020100
03/08/19 22:24:17.420 Module HomeMatic BidCoS: CUL “My-CUL”: Info: Sending (My-CUL): 0C1BA011FD0001384E27020100

Offensichtlich habe ich mit meinen Versuchen den Aktor völlig aus dem Tritt gebracht.


#10

Das hat jetzt eine lange Zeit gebraucht. Ich bin von CUL auf Maple-CUN umgestiegen - jetzt funktionieren die HomeMatic-Sensoren wieder an Homegear, und nun kann ich auch den Rollladen so schalten wie Du es beschrieben hast. Danke!


closed #11