Comments (26)
Hej @djanosz
Mamy to w planach - zaktualizuję sekcję TODO w README.md.
Zostawiam to Issue otwarte, więc będziesz poinformowany jak coś się ruszy w temacie.
Dziękuje za przypomnienie,
Pozdrawiam
from mysensors.
You can try this branch - i have no access to hardware so i will be grateful for testing.
https://github.com/Kirizaki/mysensors/tree/8-th0m4sek-active_low_state
//możesz spróbować tych zmian - nie mam dostępu do sprzętu więc będę wdzięczny za informacje czy działa tak jak powinno ;)
from mysensors.
Sketch wgrany, niestety nie działa poprawnie.
Po przekopiowaniu mojej konfiguracji przycisków, przełączników etc. stany w HA zmieniły się na zgodne z rzeczywistością Niestety okazało się, iż coś się pomieszało. Włącznik(pin A1), który opowiadał za światło w salonie(Pin 4), zapala teraz lampę w innym pokoju (pin 8).
Po wgraniu starego softu wszystko działa poprawnie.
Dla testu wgrałem też Twój pobrany soft(zmodyfikowałem tylko pin z przełącznikiem na 8 pin, przycisk pozostał na pinie A1, niestety także nie działa.
from mysensors.
a mogbys wrzucic gdzies twoje pliki? bo niebardzo widze taka mozliwosc po moich zmianach
from mysensors.
Poniżej link do plików.
- Oryginal - pliki, które u mnie działają, ale w HA pokazują odwrócone stany.
- Stan niski - pliki z którymi mam problem
https://we.tl/t-hof5YOVUVl
from mysensors.
- Stan niski - pliki z którymi mam problem
https://we.tl/t-hof5YOVUVl
Chyba zły link podałeś. :)
from mysensors.
from mysensors.
niewiem skad pomysl na zamiane
namespace Relay {
const uint8_t OFF = 1;
const uint8_t ON = 0;
const uint8_t FLIP = 2;
}
w oryginalnym pliku bo to wiecej komplikuje niz rozwiazuje ale to wyjasniac inne zachowanie sketchy
from mysensors.
Pewnie podczas szukania sposobu na poprawne statusy dla HA to zmieniłem i tak pozostało, co nie zmienia faktu, iż sketch działa poprawnie.
Nie bardzo rozumiem ostanie zdanie :)
from mysensors.
i zeby latwiej bylo ci dojsc co do czego nie definiuj wszystki akcji do wszystkich przyciskow jesli nie zamierzasz ich uzywac
i pamietaj ze mozesz przypisac jedna funkcje do kilku przyciskow
i latwiej ci bedzie nazywac przyciski tak ja sa czyli nie salon 1 2 i 3 tylko salonlewy itp, bo i tak odrazu dodajesz komentarz ze to lewy itp
from mysensors.
Dziękuję za radę, powiem szczerze, że robię to z doskoku po pracy. W związku z tym, iż pracuję na "żywym organizmie" muszę ograniczyć miganie światłem(wgrywanie sketchy, restarty arduino/maliny etc) do minimum, w przeciwnym razie żona mnie wyrzuci z domu :)
Po zakończeniu testów zastosuje się do Twoich wskazówek i to uporządkuję.
from mysensors.
doskonale rozumiem poprostu niewidze poki co mozliwosci zeby zmiany wprowadzone przezemnie dokonaly takich zachowan i wlasnie przez to ze dzialasz na zywym organizmie ogranicz to i opisz tak jak radze bedzie ci zdecydowanie latwiej
czekam na informacje o efektach
from mysensors.
void saloon2AClick() {
setOutput(GARDEROBA_ID);
//setOutput(SALOON_2_ID);
}
bo to mi w tym sketczu podpada ale powino dzialac w obu wersjach tak samo - tu pelna zgoda
from mysensors.
W ramach testu uprościłem wszystko do jednego przekaźnika(pin 11) i włącznik(PIN A1), po wgraniu lampa świeci cały czas, ale niestety nie reaguje na włącznik.
Pliki tutaj: https://we.tl/t-uoGWVaQIXi
from mysensors.
pobierz nowe zmiany albo zamień w Automation.hpp
void setGPIO(const uint8_t& sensorId, const uint8_t& cmd) {
CustomSensor sensor = CustomSensor::getSensorById(sensorId, customSensors);
const uint8_t state = (sensor.activelow == 1) ? (1-cmd) : cmd;
digitalWrite(sensor.pin, state);
}
bo wychodzi na to ze próbowałem zamienić 1 na zero operacją logiczną co nie było dobrym pomysłem...
Wielkie dzięki za testy!
from mysensors.
Po wgraniu nadal problemy.
Po wgraniu sketcha wszystkie lampy są włączone.
Włącznik PIN A3 uruchamia lampę w sypialni PIN 10 - a powinien projektor PIN 6
Włącznik PIN A5 uruchamia lampę PIN 7 a powinien lampę PIN 8
Pliki po modyfikacji: https://we.tl/t-DLqSZs7yuI
from mysensors.
reszta dziala jak nalezy czy to sa jedyne reakcje z przyciskow
i drugie pytanie czy akcje z HA dzialaja poprawnie ?
from mysensors.
Reszta nie działa w ogóle. Tzn wszystkie lamy świecą i nie reagują na włączniki.
W HA stany są wyświetlane błędnie(lampa włączona ma status - OFF)
Sterowanie z HA działa błędnie włączniki uruchamiają inne przekaźniki .
PS
Jaka powinna być wersja bibliotek?
PS2
Oczywiście po wgraniu pierwotnego sketcha wszystko działa poprawnie(prócz stanów w HA)
from mysensors.
pozostaje mi tylko jedno pytanie czy nowy sketch bez parametru active low dziala poprawnie?
musze pozadnie popatrzec w kod bo nierozumiem tego zachowania i pomyslec jeszcze raz jak to zaatakowac
jeszcze raz bardzo dziekuje za testy
from mysensors.
Wiem już raczej co namieszalem potrzebuje chwile zeby to teraz poprawnie zapisac
from mysensors.
Mam nadzieje ze teraz jest ok
Aktualna wersja ciągle tu:
https://github.com/Kirizaki/mysensors/tree/8-th0m4sek-active_low_state
Czekam na relacje i jeszcze raz dziękuję ze pomoc i cierpliwość
from mysensors.
edit inline (wkradł się błąd)
Unikajmy działań na zmiennych o dwóch innych typach (druga linia):
void setGPIO(const CustomSensor sensor, const uint8_t& cmd) {
const uint8_t state = (sensor.activelow == 1) ? (1-cmd) : cmd;
digitalWrite(sensor.pin, state);
}
Możesz porównać activelow
bezpośrednio ze zmienną ActiveLow
oraz skorzystać ze static_cast
żeby bezpiecznie zrzutować na bool
w czasie kompilacji, np:
void setGPIO(const CustomSensor sensor, const uint8_t& cmd) {
bool bState = static_cast<bool>(cmd);
bState = (ActiveLow == sensor.activelow) ? !bState : bState;
digitalWrite(sensor.pin, bState);
}
Rzutowanie:
https://www.geeksforgeeks.org/static_cast-in-c-type-casting-operators/
from mysensors.
Jestem w pracy, więc przetestuję to wieczorem.
Nie ma za co dziękować to Ty pomagasz mi, nie ja Tobie :)
from mysensors.
Stany w HA wyświetlają się poprawnie. :)
Włączniki, przekaźniki działają poprawnie.
LongPress działa poprawnie.
Czyli wszystko działa.
Dziękuję bardzo za pomoc.
PS
Zastanawia mnie tylko czy powinno być tak, że longpress działa dopiero po zwolnieniu przycisku?
from mysensors.
no powinien dzilac po puszczeniu - i mam nadzieje ze tak sie zachowuje.
jesli chcesz zeby akacja wykonala sie po wykryciu dlugiego przycisku zamien longpressstop na longpressstart
// tu masz przyklad z pomoca dla guzikow
Dzieki wielkie jeszcze raz za pomoc
from mysensors.
Resolved by #18
@djanosz
Changes merged with dev
. Feel free to use it and thank you for your contribution!
from mysensors.
Related Issues (16)
- Dependency graph
- Create manifest
- Fix build warnings HOT 1
- Resign from before() function
- add info to not use digital pin 0 and 1
- implement scene controller
- add info about versions of required liblaries
- Number of sensors HOT 2
- Problem with more sensors HOT 7
- Home-Assistant GUI not starting with connected board
- Code compilation problem HOT 7
- Poprawa sketchu
- Add documentation
- Add CI/CD
- Add build script HOT 1
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from mysensors.