- Fórum
- Diskuzní fórum, elektrické otvírání oken
- Integrace - napojení na ostatní systémy a chytrou domácnost
- Ukázka integrace Smarwi do HomeKit přes Homebridge, MQTT a NodeRed
Ukázka integrace Smarwi do HomeKit přes Homebridge, MQTT a NodeRed
- Vratislav
- Autor tématu
- Návštěvník
29. lis 2020 20:45 #564
od Vratislav
Vratislav vytvořil/a téma: Ukázka integrace Smarwi do HomeKit přes Homebridge, MQTT a NodeRed
Ahoj,
dlouho mě trápilo ovládání Smarwi do Homekitu a tak jsem nakonec udělal svoje rozhraní. Smarwi je nakonfigurováno, aby používalo můj MQTT broker na lokální adrese. Data z MQTT brokeru si bere NodeRed, kde se transformují jednoduše do nových MQTT témat, která jsou pak srozumitelná pro Homebridge, resp. pro Homekit. V HomeBridge je okno přidáno přes mqttthing následovně. Flow pro NodeRed dávám do přílohy.
Užívejte v pokoji.
Homebridge config:
NodeRed Flow:
dlouho mě trápilo ovládání Smarwi do Homekitu a tak jsem nakonec udělal svoje rozhraní. Smarwi je nakonfigurováno, aby používalo můj MQTT broker na lokální adrese. Data z MQTT brokeru si bere NodeRed, kde se transformují jednoduše do nových MQTT témat, která jsou pak srozumitelná pro Homebridge, resp. pro Homekit. V HomeBridge je okno přidáno přes mqttthing následovně. Flow pro NodeRed dávám do přílohy.
Užívejte v pokoji.
Homebridge config:
{
"accessory": "mqttthing",
"type": "window",
"name": "Smarwi Window MQTT",
"url": "mqtt://192.168.x.y",
"username": "xxxxx",
"password": "yyyyy",
"topics": {
"getCurrentPosition": {
"topic": "smarwi/window1/state",
"apply": "return JSON.parse(message).currentPosition"
},
"setTargetPosition": "smarwi/window1/cmd/targetposition",
"getTargetPosition": {
"topic": "smarwi/window1/state",
"apply": "return JSON.parse(message).targetPosition"
},
"getPositionState": {
"topic": "smarwi/window1/state",
"apply": "return JSON.parse(message).positionState"
},
"setHoldPosition": "smarwi/window1/cmd/holdposition",
"getObstructionDetected": {
"topic": "smarwi/window1/state",
"apply": "return JSON.parse(message).obstructionDetected"
}
},
"positionStateValues": [
"decreasing-value",
"increasing-value",
"stopped-value"
],
"manufacturer": "Vektiva",
"model": "Smarwi SWR1010",
"firmwareRevision": "1.0"
}
NodeRed Flow:
Prosím Přihlásit se nebo Vytvořit účet připojte se ke konverzaci.
- Kositch
- Návštěvník
18. bře 2021 16:56 #720
od Kositch
Kositch odpověděl/a na téma: Ukázka integrace Smarwi do HomeKit přes Homebridge, MQTT a NodeRed
Moc děkuji, potřeboval bych ale trochu poradit. Do NodeRed jsem přidal vaše flow, nemám vlastní MQTT broker tak jsem se v rámci flow přihlásil do broker.vektiva.com, data z okna to načítá, ostatní jsem pouze upravi na údaje mého Smarwi.
Když ale přidám tento kod do Homebridge MQTTThing pluginu, okno se vytvoří, ale nic se neděje. Může být problém, že na serveru broker.vektiva.com nemohu používat vlastní topicy, které vytváří flow v NodeRed?
Pozn. - ve flow se vytváří topic ve tvaru např.: smarwi/window1/state a nevím, zda se mi na serveru broker.vektiva.com zapíše.
Kod v Homebridge vypadá takto:
{
"accessory": "mqttthing",
"type": "window",
"name": "Smarwi Pracovna",
"url": "broker.vektiva.com",
"username": "XXXXXX",
"password": "YYYYY",
"topics": {
"getCurrentPosition": {
"topic": "smarwi/window1/state",
"apply": "return JSON.parse(message).currentPosition"
},
"setTargetPosition": "smarwi/window1/cmd/targetposition",
"getTargetPosition": {
"topic": "smarwi/window1/state",
"apply": "return JSON.parse(message).targetPosition"
},
"getPositionState": {
"topic": "smarwi/window1/state",
"apply": "return JSON.parse(message).positionState"
},
"setHoldPosition": "smarwi/window1/cmd/holdposition",
"getObstructionDetected": {
"topic": "smarwi/window1/state",
"apply": "return JSON.parse(message).obstructionDetected"
}
},
"positionStateValues": [
"decreasing-value",
"increasing-value",
"stopped-value"
],
"manufacturer": "Vektiva",
"model": "Smarwi SWR1010",
"firmwareRevision": "1.0"
}
Když ale přidám tento kod do Homebridge MQTTThing pluginu, okno se vytvoří, ale nic se neděje. Může být problém, že na serveru broker.vektiva.com nemohu používat vlastní topicy, které vytváří flow v NodeRed?
Pozn. - ve flow se vytváří topic ve tvaru např.: smarwi/window1/state a nevím, zda se mi na serveru broker.vektiva.com zapíše.
Kod v Homebridge vypadá takto:
{
"accessory": "mqttthing",
"type": "window",
"name": "Smarwi Pracovna",
"url": "broker.vektiva.com",
"username": "XXXXXX",
"password": "YYYYY",
"topics": {
"getCurrentPosition": {
"topic": "smarwi/window1/state",
"apply": "return JSON.parse(message).currentPosition"
},
"setTargetPosition": "smarwi/window1/cmd/targetposition",
"getTargetPosition": {
"topic": "smarwi/window1/state",
"apply": "return JSON.parse(message).targetPosition"
},
"getPositionState": {
"topic": "smarwi/window1/state",
"apply": "return JSON.parse(message).positionState"
},
"setHoldPosition": "smarwi/window1/cmd/holdposition",
"getObstructionDetected": {
"topic": "smarwi/window1/state",
"apply": "return JSON.parse(message).obstructionDetected"
}
},
"positionStateValues": [
"decreasing-value",
"increasing-value",
"stopped-value"
],
"manufacturer": "Vektiva",
"model": "Smarwi SWR1010",
"firmwareRevision": "1.0"
}
Prosím Přihlásit se nebo Vytvořit účet připojte se ke konverzaci.
- Vratislav
- Autor tématu
- Návštěvník
19. bře 2021 14:40 #722
od Vratislav
Vratislav odpověděl/a na téma: Ukázka integrace Smarwi do HomeKit přes Homebridge, MQTT a NodeRed
Asi jednoduchá odpověď broker.vektiva.com není veřejný MQTT broker. Takže to fungovat nebude. Buď vyzkoušet nějaký veřejný MQTT server, nebo jestli máš NodeRed, tak na ten samý stroj nainstalovat Mosquitto (
mosquitto.org
) není nic náročného a budeš to mít celé pod kontrolou.
Prosím Přihlásit se nebo Vytvořit účet připojte se ke konverzaci.