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

Masz pomysł na funkcjonalność lub koncepcję na rozwój projektu. Opisz wszystko tutaj.
Beku
Posty: 409
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: 409
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 :)
Kocurr
Posty: 8
Rejestracja: ndz sie 25, 2019 7:53 pm

czw paź 15, 2020 9:29 pm

UbU pisze:
wt cze 09, 2020 3:25 pm
Kocurr pisze:
sob maja 09, 2020 8:09 am
Wszystko odpalone, ale za cholerę nie mogę dobrze skonfiguorować akcesoriów.
Używam 3x Sonoff 4ch pro r2 i komendy mqtt nie są właściwie wysyłane.

Czy mogę prosić o pomoc we właściwej edycji json'a?

Będę mega wdzięczny

Kod: 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"
        },
Nie ma za co :-)

dzięki!!! Wszystko działa cacy :)
ODPOWIEDZ

Wróć do „Pomysły i koncepcje”