mirror of
				https://github.com/thelsing/knx.git
				synced 2025-10-26 10:26:25 +01:00 
			
		
		
		
	Change the datapoints types to 1.1, 1.2 or 1.3 to match the requirements (no dpt *.0) in dpt.cpp
		
			
				
	
	
		
			62 lines
		
	
	
		
			1.4 KiB
		
	
	
	
		
			C++
		
	
	
	
	
	
			
		
		
	
	
			62 lines
		
	
	
		
			1.4 KiB
		
	
	
	
		
			C++
		
	
	
	
	
	
| #include <knx.h>
 | |
| #ifdef ARDUINO_ARCH_ESP8266
 | |
| #include <WiFiManager.h>
 | |
| #endif
 | |
| 
 | |
| #define RELAYPIN 12
 | |
| 
 | |
| // create named references for easy access to group objects
 | |
| #define goSwitch knx.getGroupObject(1)
 | |
| #define goBlock knx.getGroupObject(2)
 | |
| #define goStatus knx.getGroupObject(3)
 | |
| 
 | |
| 
 | |
| // callback from switch-GO
 | |
| void switchCallback(GroupObject& go)
 | |
| {
 | |
|     if (goBlock.value())
 | |
|         return;
 | |
|     
 | |
|     bool value = goSwitch.value();
 | |
|     digitalWrite(RELAYPIN, value);
 | |
|     goStatus.value(value);
 | |
| }
 | |
| 
 | |
| void setup()
 | |
| {
 | |
|     Serial.begin(115200);
 | |
|     ArduinoPlatform::SerialDebug = &Serial;
 | |
| 
 | |
| #ifdef ARDUINO_ARCH_ESP8266
 | |
|     WiFiManager wifiManager;    
 | |
|     wifiManager.autoConnect("knx-sonoffS20");
 | |
| #endif
 | |
| 	
 | |
|     // read adress table, association table, groupobject table and parameters from eeprom
 | |
|     knx.readMemory();
 | |
| 
 | |
|     if (knx.configured())
 | |
|     {
 | |
|         // register callback for reset GO
 | |
|         goSwitch.callback(switchCallback);
 | |
|         goSwitch.dataPointType(Dpt(1, 1));
 | |
|         goBlock.dataPointType(Dpt(1, 3));
 | |
|         goStatus.dataPointType(Dpt(1, 2));
 | |
|     }
 | |
|     
 | |
|     // start the framework. Will get wifi first.
 | |
|     knx.start();
 | |
| }
 | |
| 
 | |
| void loop() 
 | |
| {
 | |
|     // don't delay here to much. Otherwise you might lose packages or mess up the timing with ETS
 | |
|     knx.loop();
 | |
| 
 | |
|     // only run the application code if the device was configured with ETS
 | |
|     if(!knx.configured())
 | |
|         return;
 | |
| 
 | |
|     // nothing else to do.
 | |
| }
 |