LightHub 4.6.0
Open-source smart home controller firmware
Loading...
Searching...
No Matches
abstractout.h
Go to the documentation of this file.
1#pragma once
2#include "Arduino.h"
3#include "abstractch.h"
4#include "itemCmd.h"
5
6class Item;
8class chPersistent {};
19class abstractOut : public abstractCh{
20public:
21 //abstractOut(Item * _item):abstractCh(){item=_item;};
22 abstractOut():item(NULL){};
24 virtual void link(Item * _item){item=_item;};
32 virtual int Ctrl(itemCmd cmd, char* subItem=NULL, bool toExecute=true, bool authorized = false) =0;
34 virtual int isActive();
36 virtual bool isAllowed(itemCmd cmd){return true;};
38 virtual itemCmd getDefaultOnVal(){return itemCmd().Percents255(255);};
40 virtual int getChanType(){return 0;}
41 // virtual int getDefaultStorageType(){return 0;} /// Remove?? Now getChanType used instead
43 virtual int Status() override;
45 virtual void setStatus(uint8_t status) override;
47 int Setup() override;
49 Item * getItem() {return item;}
50protected:
52 int pubAction(bool state);
53
56};
57
A single LightHub item (virtual channel).
Definition item.h:232
abstractCh()
Definition abstractch.h:28
Item * getItem()
Definition abstractout.h:49
virtual int getChanType()
Definition abstractout.h:40
int pubAction(bool state)
Definition abstractout.cpp:46
virtual int Status() override
Definition abstractout.cpp:33
abstractOut()
Definition abstractout.h:22
virtual void setStatus(uint8_t status) override
Definition abstractout.cpp:40
virtual void link(Item *_item)
Definition abstractout.h:24
virtual bool isAllowed(itemCmd cmd)
Definition abstractout.h:36
virtual int Ctrl(itemCmd cmd, char *subItem=NULL, bool toExecute=true, bool authorized=false)=0
Execute a command on the hardware. Pure virtual - driver-specific.
int Setup() override
Definition abstractout.cpp:27
virtual itemCmd getDefaultOnVal()
Definition abstractout.h:38
virtual int isActive()
Definition abstractout.cpp:8
Item * item
Item currently linked to this driver.
Definition abstractout.h:55
Placeholder for driver-persistent data attached to an item (I_EXT field).
Definition abstractout.h:8
Command + value container passed between items, drivers and MQTT.
Definition itemCmd.h:306
itemCmd(uint8_t _type=ST_VOID, uint8_t _code=CMD_VOID)
Constructor with definition of type and command.
Definition itemCmd.cpp:61
itemCmd Percents255(int i)
Definition itemCmd.cpp:1025