Supla - MQTT - Dashing
-
- Posts: 453
- Joined: Tue Nov 06, 2018 1:49 pm
rozwiń ten command w mqtt Explorer i zobacz czy się zmienia jak naciskasz coś w dashing i daj screena z mqtt explorera z payloadem
-
- Posts: 192
- Joined: Fri Aug 02, 2019 12:19 pm
O jaki command chodzi?Beku wrote: Tue Dec 31, 2019 3:44 pm rozwiń ten command w mqtt Explorer i zobacz czy się zmienia jak naciskasz coś w dashing i daj screena z mqtt explorera z payloadem
You do not have the required permissions to view the files attached to this post.
-
- Posts: 63
- Joined: Mon Oct 24, 2016 7:35 pm
Cześć
przebijam się przez poradnik instalacji.
Mam serwer i Cloud w wersji dockerowej na własnym VPS z CentOS.
Zainstalowałem brokera i smashing.
Do mqtt łączę się explorerem dasboard mi się pod 3030 wyświetla. Teraz skompilowalem klienta supla uzupełniłem config i odpalam w efekcie mam błąd jak niżej. Klient dodał się jako Supla MQTT Proxy. Sypie tym błędem cały czas jak mogę to debugowac czy klient odkłada jakiś log?
]#
[root@vps Release]# ./supla-mqtt-client -config ../config/config_template.yaml
INFO[1578396568.529555] initializing main loop
INFO[1578396568.530372] Client GUID: 07963CA256165BFE9EAF771E3D8F6AAF
INFO[1578396568.532191] SSL version: OpenSSL 1.0.2k-fips 26 Jan 2017
INFO[1578396568.535090] Connecting...
mqtt client error MQTT_ERROR_SOCKET_ERROR
mqtt client error MQTT_ERROR_SOCKET_ERROR
mqtt client error MQTT_ERROR_SOCKET_ERROR
mqtt client error MQTT_ERROR_SOCKET_ERROR
mqtt client error MQTT_ERROR_SOCKET_ERROR
przebijam się przez poradnik instalacji.
Mam serwer i Cloud w wersji dockerowej na własnym VPS z CentOS.
Zainstalowałem brokera i smashing.
Do mqtt łączę się explorerem dasboard mi się pod 3030 wyświetla. Teraz skompilowalem klienta supla uzupełniłem config i odpalam w efekcie mam błąd jak niżej. Klient dodał się jako Supla MQTT Proxy. Sypie tym błędem cały czas jak mogę to debugowac czy klient odkłada jakiś log?
]#
[root@vps Release]# ./supla-mqtt-client -config ../config/config_template.yaml
INFO[1578396568.529555] initializing main loop
INFO[1578396568.530372] Client GUID: 07963CA256165BFE9EAF771E3D8F6AAF
INFO[1578396568.532191] SSL version: OpenSSL 1.0.2k-fips 26 Jan 2017
INFO[1578396568.535090] Connecting...
mqtt client error MQTT_ERROR_SOCKET_ERROR
mqtt client error MQTT_ERROR_SOCKET_ERROR
mqtt client error MQTT_ERROR_SOCKET_ERROR
mqtt client error MQTT_ERROR_SOCKET_ERROR
mqtt client error MQTT_ERROR_SOCKET_ERROR
-
- Posts: 453
- Joined: Tue Nov 06, 2018 1:49 pm
Zmień w config_template.yaml protocol_version przy mqtt na 3
-
- Posts: 63
- Joined: Mon Oct 24, 2016 7:35 pm
Rewelacja teraz ruszyło. Na przykładzie jednego kanału przetestowałem że działa Generalnie świetna robota Beku bardzo dziękuję. Teraz pozostaje szykować dashboard i zamawiać tablet na ścianę
-
- Posts: 453
- Joined: Tue Nov 06, 2018 1:49 pm
Tylko jeśli chodzi o sterowanie z dashing to tam jest obsługa jedynie przycisków - z braku pozostałych nie bawiłem się w rolety czy ściemniacze ale da się to zrobić. Ostatnio mam bardzo mało czasu na to...darius wrote: Tue Jan 07, 2020 1:17 pm Rewelacja teraz ruszyło. Na przykładzie jednego kanału przetestowałem że działa Generalnie świetna robota Beku bardzo dziękuję. Teraz pozostaje szykować dashboard i zamawiać tablet na ścianę
-
- Posts: 63
- Joined: Mon Oct 24, 2016 7:35 pm
Co do sterowania roletami to wykorzystałem Twój kod pisany na sucho i po jednej poprawce zaczyna działać.
Zauważyłem że w command MQTT brakuje ID rolety:
command
rollershutter
= {"id" : , "shut" : 100}
więc w pliku cofee zmieniłem wszystkie wystąpienia:
na:
i teraz roleta jeździ w dół i górę
command
rollershutter
= {"id" : , "shut" : 100}
38 = {"id" : 38 , "shut" : 100}
Zauważyłem jeszcze że roleta zmienia położenie od razu o 10% więc zmieniłem
na
oraz
na
i teraz można podnosić o 1%
Problem jest jednak z pobraniem stanu początkowego. Zawsze ustawia na starcie 0%
Odpowiedzialny jest chyba za to fragment (nie jestem programistą)
Jeśli dobrze rozumiem to on na sztywno ustawia o lub 80, jak to zmienić żeby był stan bieżący?
toggleState: ->
newState = if @get('state') > 0 then '0' else '80'
@set 'state', newState
return newState
Zauważyłem że w command MQTT brakuje ID rolety:
command
rollershutter
= {"id" : , "shut" : 100}
więc w pliku cofee zmieniłem wszystkie wystąpienia:
Code: Select all
id: @get('device'),
Code: Select all
id: @get('id'),
command
rollershutter
= {"id" : , "shut" : 100}
38 = {"id" : 38 , "shut" : 100}
Zauważyłem jeszcze że roleta zmienia położenie od razu o 10% więc zmieniłem
Code: Select all
plusLevel: ->
newLevel = parseInt(@get('state'))-10
Code: Select all
plusLevel: ->
newLevel = parseInt(@get('state'))-1
Code: Select all
minusLevel: ->
newLevel = parseInt(@get('state'))+10
Code: Select all
minusLevel: ->
newLevel = parseInt(@get('state'))+1
Problem jest jednak z pobraniem stanu początkowego. Zawsze ustawia na starcie 0%
Odpowiedzialny jest chyba za to fragment (nie jestem programistą)
Jeśli dobrze rozumiem to on na sztywno ustawia o lub 80, jak to zmienić żeby był stan bieżący?
toggleState: ->
newState = if @get('state') > 0 then '0' else '80'
@set 'state', newState
return newState
-
- Posts: 453
- Joined: Tue Nov 06, 2018 1:49 pm
Za stan początkowy w zasadzie jest odpowiedzialna metoda queryState , tam ustawiana jest zmienna state na podstawie tego co przychodzi. Sprawdź jak jest brana wartość np. temperatury czy stan przycisku i analogicznie trzeba z jsona który jest publikowany do MQTT dotyczącego rolet wyłuskać położenie rolety.darius wrote: Tue Jan 07, 2020 6:10 pm Co do sterowania roletami to wykorzystałem Twój kod pisany na sucho i po jednej poprawce zaczyna działać.
Zauważyłem że w command MQTT brakuje ID rolety:
command
rollershutter
= {"id" : , "shut" : 100}
więc w pliku cofee zmieniłem wszystkie wystąpienia:na:Code: Select all
id: @get('device'),
i teraz roleta jeździ w dół i góręCode: Select all
id: @get('id'),
command
rollershutter
= {"id" : , "shut" : 100}
38 = {"id" : 38 , "shut" : 100}
Zauważyłem jeszcze że roleta zmienia położenie od razu o 10% więc zmieniłem
naCode: Select all
plusLevel: -> newLevel = parseInt(@get('state'))-10
orazCode: Select all
plusLevel: -> newLevel = parseInt(@get('state'))-1
naCode: Select all
minusLevel: -> newLevel = parseInt(@get('state'))+10
i teraz można podnosić o 1%Code: Select all
minusLevel: -> newLevel = parseInt(@get('state'))+1
Problem jest jednak z pobraniem stanu początkowego. Zawsze ustawia na starcie 0%
Odpowiedzialny jest chyba za to fragment (nie jestem programistą)
Jeśli dobrze rozumiem to on na sztywno ustawia o lub 80, jak to zmienić żeby był stan bieżący?
toggleState: ->
newState = if @get('state') > 0 then '0' else '80'
@set 'state', newState
return newState
-
- Posts: 63
- Joined: Mon Oct 24, 2016 7:35 pm
Chciałem podejrzeć metodę querystate dla ohtemp ale tam jest tylko nagłówek
cat ohtemp.coffee
class Dashing.Ohtemp extends Dashing.Widget
I nic więcej
cat ohtemp.coffee
class Dashing.Ohtemp extends Dashing.Widget
I nic więcej