SUPLA - MQTT - Homebridge... i mamy Hej Siri!

Masz pomysł na funkcjonalność lub koncepcję na rozwój projektu. Opisz wszystko tutaj.
Beku
Posty: 404
Rejestracja: wt lis 06, 2018 1:49 pm

pn sie 10, 2020 5:46 pm

Błędna ścieżka do pliku command.yaml. Sprawdź czy plik znajduje się w lokalizacji jaką podałeś w pliku konfiguracyjnym.
ems
Posty: 5
Rejestracja: śr sie 05, 2020 8:01 pm

wt sie 11, 2020 6:49 pm

Beku pisze:
pn sie 10, 2020 5:46 pm
Błędna ścieżka do pliku command.yaml. Sprawdź czy plik znajduje się w lokalizacji jaką podałeś w pliku konfiguracyjnym.
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' 
Tak wygląda config:

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"
            ]
        }
    ],
A tak wygląda terminal po wciśnięciu w aplikacji Dom, żeby brama się otworzyła:

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]
Obrazek

Brama nie reaguje. Prawdopodobnie błąd jest w configu?
Beku
Posty: 404
Rejestracja: wt lis 06, 2018 1:49 pm

wt sie 11, 2020 8:02 pm

Zmien w config /idx na /id
Bo taki wysyłasz payload do mqtt
ems
Posty: 5
Rejestracja: śr sie 05, 2020 8:01 pm

śr sie 12, 2020 9:18 pm

Beku pisze:
wt sie 11, 2020 8:02 pm
Zmien w config /idx na /id
Bo taki wysyłasz payload do mqtt
Dzięki, nareszcie działa :)
ODPOWIEDZ

Wróć do „Pomysły i koncepcje”