SUPLA - MQTT - Homebridge... i mamy Hej Siri!
W command.yaml nie bylo komendy do bramy, więc ją dodałem, tak jak sugerowałeś w innym temacie:
Kod: Zaznacz cały
# template for gate, garage door
# payload: {"idx": 4, "hi": 1}
- topic: 'supla/channels/command/#'
id: '/idx'
shut: '/hi'
Kod: Zaznacz cały
"accessories": [
{
"accessory": "mqttthing",
"type": "garageDoorOpener",
"name": "garaz",
"topics": {
"setTargetDoorState": {
"topic": "supla/channels/command/garagedoor/25899",
"apply": "return JSON.stringify({ id: 25899, hi: message });"
},
"getTargetDoorState": {
"topic": "supla/channels/status/garagedoor/25899",
"apply": "return JSON.parse(message).sensor_1;"
},
"getCurrentDoorState": {
"topic": "supla/channels/status/garagedoor/25899",
"apply": "return JSON.parse(message).sensor_1;"
},
"setLockTargetState": {
"topic": "supla/channels/command/garagedoor/25899",
"apply": "return JSON.stringify({ id: 25899, hi: message });"
},
"getLockTargetState": {
"topic": "supla/channels/status/garagedoor/25899",
"apply": "return JSON.parse(message).sensor_1;"
},
"getLockCurrentState": {
"topic": "supla/channels/status/garagedoor/25899",
"apply": "return JSON.parse(message).sensor_1;"
},
"getObstructionDetected": {
"topic": "supla/channels/status/garagedoor/25899",
"apply": "return JSON.parse(message).online;"
}
},
"doorValues": [
"1",
"1",
"0",
"0",
"0"
]
}
],
Kod: Zaznacz cały
pi@homebridge:/var/lib/homebridge $ cd supla-core/supla-mqtt-client/Release
pi@homebridge:/var/lib/homebridge/supla-core/supla-mqtt-client/Release $ ./supla-mqtt-client -config config_template.yaml
INFO[1597171329.817415] initializing main loop
INFO[1597171329.819224] Client GUID: 02C62C0541919052C67D2AC6DF0B3AB3
INFO[1597171329.824569] SSL version: OpenSSL 1.1.1d 10 Sep 2019
INFO[1597171329.834046] Connecting...
ERR[1597171343.448501] error while trying get value from payload [error: Not an integer]
ERR[1597171343.448639] error while trying get value from payload [error: Name not found]
ERR[1597171343.448722] error while trying get value from payload [error: Name not found]
ERR[1597171343.448787] error while trying get value from payload [error: Not an integer]
ERR[1597171343.448848] error while trying get value from payload [error: Not an integer]
ERR[1597171343.448906] error while trying get value from payload [error: Not an integer]
ERR[1597171343.448964] error while trying get value from payload [error: Name not found]
Brama nie reaguje. Prawdopodobnie błąd jest w configu?
UbU pisze: ↑wt cze 09, 2020 3:25 pmNie ma za coKod: Zaznacz cały
{ "type": "lightbulb-OnOff", "name": "Salon TV", "topics": { "getOnline": { "topic": "supla/channels/status/relay/7792", "apply": "return JSON.parse(message).online;" }, "getOn": { "topic": "supla/channels/status/relay/7792", "apply": "return JSON.parse(message).on;" }, "setOn": { "topic": "supla/channels/command/relay/7792", "apply": "return JSON.stringify({id: 7792, on: message});" } }, "onValue": "1", "offValue": "0", "accessory": "mqttthing" },
dzięki!!! Wszystko działa cacy
Witam Panowie mam problem z poprawnym ustawieniem jsona dla typu "type": "contactSensor",
ponizej przyklad jak to ustawilem ale wogule nie reaguje na zmiany
chcialem tylko podejrzec jego stan
ponizej przyklad jak to ustawilem ale wogule nie reaguje na zmiany
Kod: Zaznacz cały
{
"accessory": "mqttthing",
"type": "contactSensor",
"name": "Furtka Otwarta",
"url": "http://192.168.2.13:1883",
"username": "",
"password": "",
"topics": {
"getContactSensorState": {
"topic": "supla/channels/10442/RESULT",
"apply": "return JSON.parse(message).RfReceived.Data;"
}
},
"onValue": "1",
"offValue": "0"
},
-
- Posty: 53
- Rejestracja: czw lis 14, 2019 2:28 pm
To jest dla ludzi kompetentnych, my czekamy na normalne rzeczy bramkę i termostat ktury miał być i nie ma.
Uszanowanie!UbU pisze: ↑śr cze 10, 2020 10:23 amSam sobie częściowo odpowiem:
W takiej konfiguracji pięknie działa włączanie/wyłączanie i zmiana kolorów.Kod: Zaznacz cały
{ "type": "lightbulb", "name": "ZAMEL SLW-01", "topics": { "getOnline": { "topic": "supla/channels/status/rgblightning/6952", "apply": "return JSON.parse(message).online;" }, "getOn": { "topic": "supla/channels/status/rgblightning/6952", "apply": "return JSON.parse(message).color_brightness > 0;" }, "setOn": { "topic": "supla/channels/command/rgblightning/6952", "apply": "return JSON.stringify({id: 6952, c_brightness: message * 100});" }, "getRGB": { "topic": "supla/channels/status/rgblightning/6952", "apply": "return JSON.parse(message).color;" }, "setRGB": { "topic": "supla/channels/command/rgblightning/6952", "apply": "return JSON.stringify({id: 6952, colors: {r: parseInt(message.substr(2,2), 16), g: parseInt(message.substr(4,2), 16), b: parseInt(message.substr(6,2), 16)}});" }, "getBrightness": { "topic": "supla/channels/status/rgblightning/6952", "apply": "return JSON.parse(message).color_brightness;" }, "setBrightness": { "topic": "supla/channels/command/rgblightning/6952", "apply": "return JSON.stringify({id: 6952, c_brightness: message});" } }, "integerValue": true, "hex": true, "hexPrefix": "0x", "accessory": "mqttthing" }
Niestety nadal jest problem z parametrem "brightness". Zmiana jasności w aplikacji nie wystawia informacji na topic setBrightness tylko zmienia kolor w topicu setRGB, co nic powoduje zmiany jasności w Supli.
Temat może nieco już przebrzmiał ale może komuś jeszcze się przyda sterowanie dimmerem RGB poprzez Homebridge. Podepnę się tutaj, bo ten wątek jest podobny. W załączniku plik, który zawiera tzw. codec do mqttthing. Nie jest to arcydzieło - raczej posklejany troll, ale działa. Trochę irytuje, że resetuje do białego po wy/wł (można dopracować). Zawartość 'codeca' umieściłem w
Kod: Zaznacz cały
/var/lib/homebridge/codecs/rgb2hsv.js
Tu plik: i fragment konfiguracji dla H-801
Kod: Zaznacz cały
{
"type": "lightbulb",
"accessory": "mqttthing",
"name": "Salon RGB",
"url": "mqtt.server",
"username": "user_mqtt",
"password": "pass",
"topics": {
"getOnline": {
"topic": "supla/channels/status/rgblightning/17",
"apply": "return JSON.parse(message).online;"
},
"getOn": {
"topic": "supla/channels/status/rgblightning/17",
"apply": "return JSON.parse(message).color_brightness > 0;"
},
"setOn": {
"topic": "supla/channels/command/rgblightning/17",
"apply": "return JSON.stringify({id: 17, c_brightness: message * 100});"
},
"getRGB": {
"topic": "supla/channels/status/rgblightning/17",
"apply": "return JSON.parse(message).color;"
},
"setRGB": {
"topic": "supla/channels/command/rgblightning/17",
"apply": "return JSON.stringify({id: 17, colors: message});"
}
},
"integerValue": true,
"hex": true,
"hexPrefix": "0x",
"codec": "codecs/rgb2hsv.js"
},
{
"type": "lightbulb",
"accessory": "mqttthing",
"name": "Salon W1",
"url": "mqtt.server",
"username": "user_mqtt",
"password": "pass",
"topics": {
"getOnline": {
"topic": "supla/channels/status/dimmer/18",
"apply": "return JSON.parse(message).online;"
},
"getOn": {
"topic": "supla/channels/status/dimmer/18",
"apply": "return JSON.parse(message).brightness > 0;"
},
"getBrightness": {
"topic": "supla/channels/status/dimmer/18",
"apply": "return JSON.parse(message).brightness;"
},
"setBrightness": {
"topic": "supla/channels/command/dimmer/18",
"apply": "return JSON.stringify({id: 18, brightness: message});"
}
},
"integerValue": "false",
"onValue": "1",
"offValue": "0"
}
Witam, czy ktoś mógłby mi pomóc w konfiguracji tego??
Zainstalowałem hombridge na PI Zero - postępowałem według pierwszego postu na cloud w zakładce smartfony pojawił się nowy telefon MQTT... Co dalej trzeba zrobić aby urządzenia pojawiły się w aplikacji "Dom".
Mam własny serwer postawiony na RPI 4.
Z góry dzięki za każdą pomoc.
Tak wygląda config_template.yaml
Zainstalowałem hombridge na PI Zero - postępowałem według pierwszego postu na cloud w zakładce smartfony pojawił się nowy telefon MQTT... Co dalej trzeba zrobić aby urządzenia pojawiły się w aplikacji "Dom".
Mam własny serwer postawiony na RPI 4.
Z góry dzięki za każdą pomoc.
Tak wygląda config_template.yaml
Kod: Zaznacz cały
mqtt:
host: '192.168.1.33'
port: 1883
commands_file_path: '/var/lib/homebridge/supla-core/supla-mqtt-client/config/command.yaml'
states_file_path: '/var/lib/homebridge/supla-core/supla-mqtt-client/config/state.yaml'
client_name: 'supla_mqtt_client'
protocol_version: 3
publish_supla_events: true
supla:
port: 2016
host: '192.168.1.81'
protocol_version: 10
email: 'mój_email
wydaje mi się że mam coś nie tak w działaniu samego brockera mqtt bo cały czas otrzymuję coś takiego
Kod: Zaznacz cały
~/supla-core/supla-mqtt-client/Release$ ./supla-mqtt-client -config config_template.yaml
INFO[1612189068.193926] initializing main loop
INFO[1612189068.194838] Client GUID: 4ACA373596DE94C0E18B9F9E0132D613
configuration file missing [parameter -config]