ASL board for stair lightning meets fhem by using my sensor
-
Hello guys,
I am a totally newbie about my senor. It would be nice if I could get a little support/help with my problems.
I am trying to use this ASL board: link
It would be great if I can get some infos how the code on the nano sketch and fhem should look like, that I can can trigger/change functions from fhem to the nano/sketch and how can I get an info, when a pir changes a value of a varible in the sketch. Here is the existing code from the ardunio sktech:
#define MY_RADIO_NRF24 #define MY_REPEATER_FEATURE #include <SPI.h> #include <MySensors.h> boolean sensor; boolean MysenSor; #define SHIFTPWM_NOSPI const int ShiftPWM_dataPin = 6; // Do not change!!! const int ShiftPWM_clockPin = 7; // Do not change!!! const int ShiftPWM_latchPin = 8; // Do not change!!! #include <ShiftPWM.h> const bool ShiftPWM_invertOutputs = false; const bool ShiftPWM_balanceLoad = false; #define sensorLight_PIN A0 // Light sensor Do not change!!! #define sensorBottom_PIN A1 // Bottom sensor Do not change!!! #define sensorUpper_PIN A2 // Upper sensor Do not change!!! unsigned char maxBrightness = 100; // Here you set the number of brightness levels. Adjust(0-255)!! unsigned char pwmFrequency = 75; // These values affect the load of ShiftPWM unsigned int numRegisters = 3; // Number of shift registers Do not change!!! unsigned int numOutputs = numRegisters * 8; unsigned int numRGBLeds = numRegisters * 8 / 3; boolean sensorUpperActive; boolean sensorBottomActive; int numberOfstairs=6; // Setup Number of Your stairs. Adjust up to 24 !!!! int pause=30000; // Setup delay ON/OFF Adjust!!! byte faidoutSpeed=5; // How fast to fadeout Adjust!!! byte faidinSpeed=5; // How fast to fadein Adjust!!! void before() { MysenSor=loadState(sensor); // Set relay to last known state (using eeprom storage) } void presentation() { present(sensor, S_LIGHT); } void receive(const MyMessage &message) { // We only expect one type of message from controller. But we better check anyway. if (message.type==V_LIGHT) { MysenSor=message.getBool(); // Store state in eeprom saveState(message.sensor, message.getBool()); } } void setup() { ShiftPWM.SetAmountOfRegisters(numRegisters); ShiftPWM.Start(pwmFrequency, maxBrightness); pinMode(sensorBottom_PIN, INPUT); pinMode(sensorUpper_PIN, INPUT); pinMode(sensorLight_PIN, INPUT); Serial.begin(9600); Serial.println("setup"); } void loop() { if ( MysenSor!=0) { BottomTriggerFire(); //Checking bottom sensor UpperTrigerFire(); //Checking upper sensor switchONOFFfromdown(); //Stairs on/off from down to up switchONOFFfromUp(); //Stairs on/off from up to down } } void BottomTriggerFire() { if (analogRead (sensorBottom_PIN) >= 550 ) { //Depend of the sensor type, if 0 when triggered ,than change the comparison to opposite value. sensorBottomActive = true; } } void UpperTrigerFire() { if (analogRead(sensorUpper_PIN) >= 550) { //Depend of the sensor type, if 0 when triggered ,than change the comparison to opposite value. sensorUpperActive = true; } } void switchONOFFfromdown() { if (sensorBottomActive==true && sensorUpperActive==false){ for(int i=0; i<numberOfstairs; i++){ for(int a=0; a<maxBrightness; a++){ ShiftPWM.SetOne(i,a); delay(faidoutSpeed); } } delay(pause); for(int i=0; i<numberOfstairs; i++){ for(int a=maxBrightness;a>=0;a--){ ShiftPWM.SetOne(i,a); if(a==0){ ShiftPWM.SetOne(i,0); } delay(faidinSpeed); } } sensorBottomActive = false ; } } void switchONOFFfromUp () { if ( sensorUpperActive==true && sensorBottomActive==false) { for(int i=numberOfstairs; i>=0; i--){ Serial.print(i); for(int a=0; a<maxBrightness; a++){ ShiftPWM.SetOne(i,a); delay(faidoutSpeed); } } delay(pause); for(int i=numberOfstairs; i>=0; i--){ //Serial.print(i); for(int a=maxBrightness;a>=0;a--){ ShiftPWM.SetOne(i,a); if(a==0){ ShiftPWM.SetOne(i,0); } delay(faidinSpeed); } } sensorUpperActive= false ; } }Here are my FHEM listings:
defmod MySensor MYSENSORS 192.168.0.68:5003 attr MySensor autocreate 1 attr MySensor group Sensorik attr MySensor icon cul attr MySensor room Actions,MySensor,System attr MySensor stateFormat connection attr MySensor verbose 4 setstate MySensor startup complete setstate MySensor 2019-08-17 20:25:49 connection startup complete setstate MySensor 2019-08-17 20:30:50 heartbeat alive setstate MySensor 2019-08-17 20:25:49 state openedNext:
defmod MYSENSOR_0 MYSENSORS_DEVICE 0 attr MYSENSOR_0 IODev MySensor attr MYSENSOR_0 mode repeater attr MYSENSOR_0 requestAck 1 attr MYSENSOR_0 room MySensor attr MYSENSOR_0 version 2.2.0-beta setstate MYSENSOR_0 2019-08-17 20:30:50 heartbeat aliveand last:
defmod MYSENSOR_1 MYSENSORS_DEVICE 1 attr MYSENSOR_1 IODev MySensor attr MYSENSOR_1 mapReading_power 0 power attr MYSENSOR_1 mapReading_status 0 status attr MYSENSOR_1 mode repeater attr MYSENSOR_1 requestAck 1 attr MYSENSOR_1 room MySensor attr MYSENSOR_1 setReading_.+ luxwert attr MYSENSOR_1 setReading_power 1 attr MYSENSOR_1 setReading_status off,on attr MYSENSOR_1 version 2.1.1 setstate MYSENSOR_1 routingtable cleared setstate MYSENSOR_1 2017-06-18 11:22:01 parentId 0 setstate MYSENSOR_1 2017-06-17 19:09:48 power 1 setstate MYSENSOR_1 2017-06-17 19:11:22 state routingtable cleared setstate MYSENSOR_1 2017-06-18 11:59:13 status onIt would be great if I can some help/support :-)
Greetings
Thomas
Hello! It looks like you're interested in this conversation, but you don't have an account yet.
Getting fed up of having to scroll through the same posts each visit? When you register for an account, you'll always come back to exactly where you were before, and choose to be notified of new replies (either via email, or push notification). You'll also be able to save bookmarks and upvote posts to show your appreciation to other community members.
With your input, this post could be even better 💗
Register Login