Erledigt - Wie schalte ich über JSON?

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.

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.

1 Like

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.

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

1 Like

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.

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?

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

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.

1 Like

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.

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!

1 Like