Supla virtual device MQTT

lukfud
Posty: 570
Rejestracja: czw lis 23, 2017 11:33 pm
Lokalizacja: Warszawa

pt mar 06, 2020 2:23 pm

@Beku,

Czy jesteś w stanie ustawić komendy on/off dla GARAGEDOOR w zależności od stanu czujnika GARAGE_DOOR_SENSOR.
W tej chwili wykonuje się tylko command_on.

Myślę, że byłaby to przydatna funkcjonalność.U mnie włączanie i wyłączanie amplitunera / komputera z podglądem stanu na przycisku.
Beku
Posty: 409
Rejestracja: wt lis 06, 2018 1:49 pm

sob mar 07, 2020 9:47 am

lukfud pisze:
pt mar 06, 2020 2:23 pm
@Beku,

Czy jesteś w stanie ustawić komendy on/off dla GARAGEDOOR w zależności od stanu czujnika GARAGE_DOOR_SENSOR.
W tej chwili wykonuje się tylko command_on.

Myślę, że byłaby to przydatna funkcjonalność.U mnie włączanie i wyłączanie amplitunera / komputera z podglądem stanu na przycisku.
A nie możesz dać akcji na GARAGE_DOOR_SENSOR?

command_on i command_off ??
lukfud
Posty: 570
Rejestracja: czw lis 23, 2017 11:33 pm
Lokalizacja: Warszawa

sob mar 07, 2020 11:17 am

Beku pisze:
sob mar 07, 2020 9:47 am
A nie możesz dać akcji na GARAGE_DOOR_SENSOR?
command_on i command_off ??
Nie za bardzo, bo nie chodzi mi o automatyczne wykonywanie komend, tylko o wykonanie odpowiedniej komendy (w zależności od stanu czujnika) kiedy kliknę Otwórz/Zamknij.

Teraz mam kanał przekźnika i odpowiednie komendy włącz/wyłącz, do tego kolejny kanał czujnika - dwa "miejsca" w telefonie.

Obrazek

Gdyby można było wykonać (klikając) odpowiednią akcję w zależności od stanu czujnika to mielibyśmy wywołanie i odczyt w jednym.

Obrazek
Awatar użytkownika
PuteR
Posty: 870
Rejestracja: śr gru 06, 2017 10:07 am

sob mar 07, 2020 12:00 pm

lukfud pisze:
sob mar 07, 2020 11:17 am
Beku pisze:
sob mar 07, 2020 9:47 am
A nie możesz dać akcji na GARAGE_DOOR_SENSOR?
command_on i command_off ??
Nie za bardzo, bo nie chodzi mi o automatyczne wykonywanie komend, tylko o wykonanie odpowiedniej komendy (w zależności od stanu czujnika) kiedy kliknę Otwórz/Zamknij.

Teraz mam kanał przekźnika i odpowiednie komendy włącz/wyłącz, do tego kolejny kanał czujnika - dwa "miejsca" w telefonie.

Obrazek

Gdyby można było wykonać (klikając) odpowiednią akcję w zależności od stanu czujnika to mielibyśmy wywołanie i odczyt w jednym.

Obrazek
Nie wiem czy dobrze rozumiem, ale możesz wykorzystać do tego Alexę.

Ja mam np. tak że Alexa monitoruje stan otwarte czy zamknięte i w zależności od tego wykonuje odpowiedni link włącz lub wyłącz, a nawet z wykorzystaniem supla script bardziej złożone sceny.
lukfud
Posty: 570
Rejestracja: czw lis 23, 2017 11:33 pm
Lokalizacja: Warszawa

sob mar 07, 2020 12:50 pm

PuteR pisze:
sob mar 07, 2020 12:00 pm
Nie wiem czy dobrze rozumiem, ale możesz wykorzystać do tego Alexę.

Ja mam np. tak że Alexa monitoruje stan otwarte czy zamknięte i w zależności od tego wykonuje odpowiedni link włącz lub wyłącz, a nawet z wykorzystaniem supla script bardziej złożone sceny.
A mógłbyś podać przykład z ustawieniami kanałów? Alexa robi coś automatycznie czy dopiero po wydaniu polecenia?

Nie zapoznawałem się jeszcze Alexą, ale z Twojego opisu wnioskuję, że możesz ustawić sprawdzanie kanału czujnika i wykonywanie linków bezpośrednich z pozycji app Alexy, a mi nie o to chodzi. Chyba, że coś innego miałeś na myśli.

To co chciałbym ;)

Kod: Zaznacz cały

[CHANNEL_8]
function=GARAGEDOOR
command_on=powerOn.sh # if GARAGE_DOOR_SENSOR state == 0
command_off=powerOff.sh # if GARAGE_DOOR_SENSOR state == 1

[CHANNEL_9]
function=GARAGE_DOOR_SENSOR
file=/home/pi/state.txt # 0 || 1
Awatar użytkownika
PuteR
Posty: 870
Rejestracja: śr gru 06, 2017 10:07 am

sob mar 07, 2020 1:15 pm

W Supla virtual device mam ustawione coś takiego

Kod: Zaznacz cały

[CHANNEL_0] #otwórz/zamknij Bramę - włącz/wyłącz światła
function=POWERSWITCH 
command_on=curl https://xxxxx/api/scenes/execute/bxxxxx"
command_off=curl https://xxxxx/api/scenes/execute/xxxxxx"
Dalej alexa w zależności czy stan czujnika jest otwarty czy zamknięty wykonuję akcję na urządzeniu które wskaże - w tym przypadku włącz lub wyłącz na Channel_0.

Działa to tak, że otwieram bramę pilotem od sterownika bramowego lub przyciskiem w aplikacji od bramy i gdy stan kontraktonu się zmieni na otwarty załącza się światło w garażu i przed domem, a po zamknięciu nie ważne w jaki sposób wyłączy się światło na podwórku, a w garażu pozostanie włączone (to już kwestia jak sobie scenę ustawimy). Oczywiście w aplikacji cały czas widzimy czy brama jest otwarta czy zamknięta.
lukfud
Posty: 570
Rejestracja: czw lis 23, 2017 11:33 pm
Lokalizacja: Warszawa

sob mar 07, 2020 2:18 pm

PuteR pisze:
sob mar 07, 2020 1:15 pm
Działa to tak, że otwieram bramę pilotem od sterownika bramowego lub przyciskiem w aplikacji od bramy i gdy stan kontraktonu się zmieni na otwarty załącza się światło w garażu i przed domem, a po zamknięciu nie ważne w jaki sposób wyłączy się światło na podwórku, a w garażu pozostanie włączone (to już kwestia jak sobie scenę ustawimy). Oczywiście w aplikacji cały czas widzimy czy brama jest otwarta czy zamknięta.
Ok, ale do tego Alexa nie jest Ci potrzebna. Jeśli dobrze zrozumiałem to co Beku napisał wcześniej, to komendy on/off można ustawić też na wirtualnych czujnikach i wtedy wystarczyło by odpytać czujnik bramy i wartość wrzucić do pliku .txt (prosta pętla + cron)

Kod: Zaznacz cały

[CHANNEL_0]
function=GARAGE_DOOR_SENSOR
file=/home/pi/state.txt  # 0 || 1
command_on = (...)
command_off = (...)
Dla tylko wykonywania linków można użyć SuplaEvents (tak wiem, o ile działa ;))

Powyższy przykład, Alexa, czy zdarzenia to cały czas automat a mi chodzi po głowie przycisk monostabilny w app telefonu :)
Awatar użytkownika
PuteR
Posty: 870
Rejestracja: śr gru 06, 2017 10:07 am

sob mar 07, 2020 2:36 pm

Ok, w takim razie moje rozwiązanie faktycznie może nie być odpowiednie dla Ciebie

lukfud pisze:
sob mar 07, 2020 2:18 pm

Ok, ale do tego Alexa nie jest Ci potrzebna. Jeśli dobrze zrozumiałem to co Beku napisał wcześniej, to komendy on/off można ustawić też na wirtualnych czujnikach i wtedy wystarczyło by odpytać czujnik bramy i wartość wrzucić do pliku .txt (prosta pętla + cron)
W jaki sposób odpytać czujnik bramy o jego stan?? i przesłać tę wartość do pliku?? :D
lukfud
Posty: 570
Rejestracja: czw lis 23, 2017 11:33 pm
Lokalizacja: Warszawa

sob mar 07, 2020 2:54 pm

PuteR pisze:
sob mar 07, 2020 2:36 pm
W jaki sposób odpytać czujnik bramy o jego stan?? i przesłać tę wartość do pliku?? :D
Utwórz link bezpośredni do czujnika i włącz odczyt w dozwolonych akcjach.

Zmień nazwy plików i ścieżki. Do crona dopisz np.:

Kod: Zaznacz cały

@reboot /home/pi/readSensors.sh
readSensors.sh

Kod: Zaznacz cały

#!/bin/bash

for (( ; ; )) ; do

	sensor_state=$(curl -s 'https://######/read' | jq '.hi')

	if [ $sensor_state == 'true' ]
	then
		echo "1" > /home/pi/sensor.txt
	else
		echo "0" > /home/pi/sensor.txt
	fi
	
	sleep 15 // co ile sekund sprawdza
done
lukfud
Posty: 570
Rejestracja: czw lis 23, 2017 11:33 pm
Lokalizacja: Warszawa

sob mar 07, 2020 9:31 pm

lukfud pisze:
sob mar 07, 2020 2:18 pm

Powyższy przykład, Alexa, czy zdarzenia to cały czas automat a mi chodzi po głowie przycisk monostabilny w app telefonu :)
Głupio tak cytować siebie, ale dotarło do mnie (po czasie), że warunek mogę wstawić w skrypcie i tak właśnie zrobiłem. Działa :)
ODPOWIEDZ

Wróć do „Projekty użytkowników”