thermferm/mqtt.h

Sun, 07 Jul 2019 12:58:06 +0200

author
Michiel Broek <mbroek@mbse.eu>
date
Sun, 07 Jul 2019 12:58:06 +0200
changeset 598
363dc36d2450
parent 557
ae17042a6d39
child 677
c867eb3f7fc1
permissions
-rw-r--r--

Added wiringPi hardware detection code.

499
602d9968960f Created mqtt sourcefiles. Use flags to trigger publish messages. The main source does not know and does not care if MQTT messages will be sent. Version 0.5.5
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
1 #ifndef _MQTT_H
602d9968960f Created mqtt sourcefiles. Use flags to trigger publish messages. The main source does not know and does not care if MQTT messages will be sent. Version 0.5.5
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
2 #define _MQTT_H
602d9968960f Created mqtt sourcefiles. Use flags to trigger publish messages. The main source does not know and does not care if MQTT messages will be sent. Version 0.5.5
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
3
602d9968960f Created mqtt sourcefiles. Use flags to trigger publish messages. The main source does not know and does not care if MQTT messages will be sent. Version 0.5.5
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
4
602d9968960f Created mqtt sourcefiles. Use flags to trigger publish messages. The main source does not know and does not care if MQTT messages will be sent. Version 0.5.5
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
5 #define STATUS_CONNECTING 0
602d9968960f Created mqtt sourcefiles. Use flags to trigger publish messages. The main source does not know and does not care if MQTT messages will be sent. Version 0.5.5
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
6 #define STATUS_CONNACK_RECVD 1
602d9968960f Created mqtt sourcefiles. Use flags to trigger publish messages. The main source does not know and does not care if MQTT messages will be sent. Version 0.5.5
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
7 #define STATUS_WAITING 2
602d9968960f Created mqtt sourcefiles. Use flags to trigger publish messages. The main source does not know and does not care if MQTT messages will be sent. Version 0.5.5
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
8
598
363dc36d2450 Added wiringPi hardware detection code.
Michiel Broek <mbroek@mbse.eu>
parents: 557
diff changeset
9 #ifndef HAVE_WIRINGPI_H
363dc36d2450 Added wiringPi hardware detection code.
Michiel Broek <mbroek@mbse.eu>
parents: 557
diff changeset
10
363dc36d2450 Added wiringPi hardware detection code.
Michiel Broek <mbroek@mbse.eu>
parents: 557
diff changeset
11 // Pi model types and version numbers
363dc36d2450 Added wiringPi hardware detection code.
Michiel Broek <mbroek@mbse.eu>
parents: 557
diff changeset
12 // Intended for the GPIO program Use at your own risk.
363dc36d2450 Added wiringPi hardware detection code.
Michiel Broek <mbroek@mbse.eu>
parents: 557
diff changeset
13
363dc36d2450 Added wiringPi hardware detection code.
Michiel Broek <mbroek@mbse.eu>
parents: 557
diff changeset
14 #define PI_MODEL_A 0
363dc36d2450 Added wiringPi hardware detection code.
Michiel Broek <mbroek@mbse.eu>
parents: 557
diff changeset
15 #define PI_MODEL_B 1
363dc36d2450 Added wiringPi hardware detection code.
Michiel Broek <mbroek@mbse.eu>
parents: 557
diff changeset
16 #define PI_MODEL_AP 2
363dc36d2450 Added wiringPi hardware detection code.
Michiel Broek <mbroek@mbse.eu>
parents: 557
diff changeset
17 #define PI_MODEL_BP 3
363dc36d2450 Added wiringPi hardware detection code.
Michiel Broek <mbroek@mbse.eu>
parents: 557
diff changeset
18 #define PI_MODEL_2 4
363dc36d2450 Added wiringPi hardware detection code.
Michiel Broek <mbroek@mbse.eu>
parents: 557
diff changeset
19 #define PI_ALPHA 5
363dc36d2450 Added wiringPi hardware detection code.
Michiel Broek <mbroek@mbse.eu>
parents: 557
diff changeset
20 #define PI_MODEL_CM 6
363dc36d2450 Added wiringPi hardware detection code.
Michiel Broek <mbroek@mbse.eu>
parents: 557
diff changeset
21 #define PI_MODEL_07 7
363dc36d2450 Added wiringPi hardware detection code.
Michiel Broek <mbroek@mbse.eu>
parents: 557
diff changeset
22 #define PI_MODEL_3B 8
363dc36d2450 Added wiringPi hardware detection code.
Michiel Broek <mbroek@mbse.eu>
parents: 557
diff changeset
23 #define PI_MODEL_ZERO 9
363dc36d2450 Added wiringPi hardware detection code.
Michiel Broek <mbroek@mbse.eu>
parents: 557
diff changeset
24 #define PI_MODEL_CM3 10
363dc36d2450 Added wiringPi hardware detection code.
Michiel Broek <mbroek@mbse.eu>
parents: 557
diff changeset
25 #define PI_MODEL_ZERO_W 12
363dc36d2450 Added wiringPi hardware detection code.
Michiel Broek <mbroek@mbse.eu>
parents: 557
diff changeset
26 #define PI_MODEL_3BP 13
363dc36d2450 Added wiringPi hardware detection code.
Michiel Broek <mbroek@mbse.eu>
parents: 557
diff changeset
27 #define PI_MODEL_3AP 14
363dc36d2450 Added wiringPi hardware detection code.
Michiel Broek <mbroek@mbse.eu>
parents: 557
diff changeset
28 #define PI_MODEL_CM3P 16
363dc36d2450 Added wiringPi hardware detection code.
Michiel Broek <mbroek@mbse.eu>
parents: 557
diff changeset
29
363dc36d2450 Added wiringPi hardware detection code.
Michiel Broek <mbroek@mbse.eu>
parents: 557
diff changeset
30 #define PI_VERSION_1 0
363dc36d2450 Added wiringPi hardware detection code.
Michiel Broek <mbroek@mbse.eu>
parents: 557
diff changeset
31 #define PI_VERSION_1_1 1
363dc36d2450 Added wiringPi hardware detection code.
Michiel Broek <mbroek@mbse.eu>
parents: 557
diff changeset
32 #define PI_VERSION_1_2 2
363dc36d2450 Added wiringPi hardware detection code.
Michiel Broek <mbroek@mbse.eu>
parents: 557
diff changeset
33 #define PI_VERSION_2 3
363dc36d2450 Added wiringPi hardware detection code.
Michiel Broek <mbroek@mbse.eu>
parents: 557
diff changeset
34
363dc36d2450 Added wiringPi hardware detection code.
Michiel Broek <mbroek@mbse.eu>
parents: 557
diff changeset
35 #define PI_MAKER_SONY 0
363dc36d2450 Added wiringPi hardware detection code.
Michiel Broek <mbroek@mbse.eu>
parents: 557
diff changeset
36 #define PI_MAKER_EGOMAN 1
363dc36d2450 Added wiringPi hardware detection code.
Michiel Broek <mbroek@mbse.eu>
parents: 557
diff changeset
37 #define PI_MAKER_EMBEST 2
363dc36d2450 Added wiringPi hardware detection code.
Michiel Broek <mbroek@mbse.eu>
parents: 557
diff changeset
38 #define PI_MAKER_UNKNOWN 3
363dc36d2450 Added wiringPi hardware detection code.
Michiel Broek <mbroek@mbse.eu>
parents: 557
diff changeset
39
363dc36d2450 Added wiringPi hardware detection code.
Michiel Broek <mbroek@mbse.eu>
parents: 557
diff changeset
40
363dc36d2450 Added wiringPi hardware detection code.
Michiel Broek <mbroek@mbse.eu>
parents: 557
diff changeset
41 #endif
363dc36d2450 Added wiringPi hardware detection code.
Michiel Broek <mbroek@mbse.eu>
parents: 557
diff changeset
42
499
602d9968960f Created mqtt sourcefiles. Use flags to trigger publish messages. The main source does not know and does not care if MQTT messages will be sent. Version 0.5.5
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
43
602d9968960f Created mqtt sourcefiles. Use flags to trigger publish messages. The main source does not know and does not care if MQTT messages will be sent. Version 0.5.5
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
44 /*
602d9968960f Created mqtt sourcefiles. Use flags to trigger publish messages. The main source does not know and does not care if MQTT messages will be sent. Version 0.5.5
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
45 * Public functions
602d9968960f Created mqtt sourcefiles. Use flags to trigger publish messages. The main source does not know and does not care if MQTT messages will be sent. Version 0.5.5
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
46 */
515
7ab5cf2afc0c Only send domoticz changed values
Michiel Broek <mbroek@mbse.eu>
parents: 506
diff changeset
47 void pub_domoticz_temp(int, int);
7ab5cf2afc0c Only send domoticz changed values
Michiel Broek <mbroek@mbse.eu>
parents: 506
diff changeset
48 void pub_domoticz_output(int, int);
499
602d9968960f Created mqtt sourcefiles. Use flags to trigger publish messages. The main source does not know and does not care if MQTT messages will be sent. Version 0.5.5
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
49 void mqtt_connect(void);
602d9968960f Created mqtt sourcefiles. Use flags to trigger publish messages. The main source does not know and does not care if MQTT messages will be sent. Version 0.5.5
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
50 void mqtt_disconnect(void);
533
49580ca85ab7 Versie 0.6.3. MQTT device berichten alleen als een fermenter ingeschakeld is. MQTT fermenter birth en death berichhten als een fementer in of uitgeschakeld wordt. MQTT node death bericht bij normaal afsluiten van de daemon. Alle MQTT persistent berichten worden nu goed opgeruikmd.
Michiel Broek <mbroek@mbse.eu>
parents: 515
diff changeset
51
49580ca85ab7 Versie 0.6.3. MQTT device berichten alleen als een fermenter ingeschakeld is. MQTT fermenter birth en death berichhten als een fementer in of uitgeschakeld wordt. MQTT node death bericht bij normaal afsluiten van de daemon. Alle MQTT persistent berichten worden nu goed opgeruikmd.
Michiel Broek <mbroek@mbse.eu>
parents: 515
diff changeset
52 /**
547
0e4d4b45249f Versie 0.8.0. Fixed eerste DBIRTH fout geinitialiseerde waardes.
Michiel Broek <mbroek@mbse.eu>
parents: 545
diff changeset
53 * @brief Publish DBIRTH for all active units. If there are no active units, don't
0e4d4b45249f Versie 0.8.0. Fixed eerste DBIRTH fout geinitialiseerde waardes.
Michiel Broek <mbroek@mbse.eu>
parents: 545
diff changeset
54 * publish anything. This function should be called at program start.
0e4d4b45249f Versie 0.8.0. Fixed eerste DBIRTH fout geinitialiseerde waardes.
Michiel Broek <mbroek@mbse.eu>
parents: 545
diff changeset
55 */
0e4d4b45249f Versie 0.8.0. Fixed eerste DBIRTH fout geinitialiseerde waardes.
Michiel Broek <mbroek@mbse.eu>
parents: 545
diff changeset
56 void publishDBirthAll(void);
0e4d4b45249f Versie 0.8.0. Fixed eerste DBIRTH fout geinitialiseerde waardes.
Michiel Broek <mbroek@mbse.eu>
parents: 545
diff changeset
57
0e4d4b45249f Versie 0.8.0. Fixed eerste DBIRTH fout geinitialiseerde waardes.
Michiel Broek <mbroek@mbse.eu>
parents: 545
diff changeset
58 /**
533
49580ca85ab7 Versie 0.6.3. MQTT device berichten alleen als een fermenter ingeschakeld is. MQTT fermenter birth en death berichhten als een fementer in of uitgeschakeld wordt. MQTT node death bericht bij normaal afsluiten van de daemon. Alle MQTT persistent berichten worden nu goed opgeruikmd.
Michiel Broek <mbroek@mbse.eu>
parents: 515
diff changeset
59 * @brief Publish unit data.
49580ca85ab7 Versie 0.6.3. MQTT device berichten alleen als een fermenter ingeschakeld is. MQTT fermenter birth en death berichhten als een fementer in of uitgeschakeld wordt. MQTT node death bericht bij normaal afsluiten van de daemon. Alle MQTT persistent berichten worden nu goed opgeruikmd.
Michiel Broek <mbroek@mbse.eu>
parents: 515
diff changeset
60 * @param unit Unit data structure.
49580ca85ab7 Versie 0.6.3. MQTT device berichten alleen als een fermenter ingeschakeld is. MQTT fermenter birth en death berichhten als een fementer in of uitgeschakeld wordt. MQTT node death bericht bij normaal afsluiten van de daemon. Alle MQTT persistent berichten worden nu goed opgeruikmd.
Michiel Broek <mbroek@mbse.eu>
parents: 515
diff changeset
61 */
49580ca85ab7 Versie 0.6.3. MQTT device berichten alleen als een fermenter ingeschakeld is. MQTT fermenter birth en death berichhten als een fementer in of uitgeschakeld wordt. MQTT node death bericht bij normaal afsluiten van de daemon. Alle MQTT persistent berichten worden nu goed opgeruikmd.
Michiel Broek <mbroek@mbse.eu>
parents: 515
diff changeset
62 void publishDData(units_list *unit);
49580ca85ab7 Versie 0.6.3. MQTT device berichten alleen als een fermenter ingeschakeld is. MQTT fermenter birth en death berichhten als een fementer in of uitgeschakeld wordt. MQTT node death bericht bij normaal afsluiten van de daemon. Alle MQTT persistent berichten worden nu goed opgeruikmd.
Michiel Broek <mbroek@mbse.eu>
parents: 515
diff changeset
63
49580ca85ab7 Versie 0.6.3. MQTT device berichten alleen als een fermenter ingeschakeld is. MQTT fermenter birth en death berichhten als een fementer in of uitgeschakeld wordt. MQTT node death bericht bij normaal afsluiten van de daemon. Alle MQTT persistent berichten worden nu goed opgeruikmd.
Michiel Broek <mbroek@mbse.eu>
parents: 515
diff changeset
64 /**
49580ca85ab7 Versie 0.6.3. MQTT device berichten alleen als een fermenter ingeschakeld is. MQTT fermenter birth en death berichhten als een fementer in of uitgeschakeld wordt. MQTT node death bericht bij normaal afsluiten van de daemon. Alle MQTT persistent berichten worden nu goed opgeruikmd.
Michiel Broek <mbroek@mbse.eu>
parents: 515
diff changeset
65 * @brief Publish unit birth.
49580ca85ab7 Versie 0.6.3. MQTT device berichten alleen als een fermenter ingeschakeld is. MQTT fermenter birth en death berichhten als een fementer in of uitgeschakeld wordt. MQTT node death bericht bij normaal afsluiten van de daemon. Alle MQTT persistent berichten worden nu goed opgeruikmd.
Michiel Broek <mbroek@mbse.eu>
parents: 515
diff changeset
66 * @param unit Unit data structure.
49580ca85ab7 Versie 0.6.3. MQTT device berichten alleen als een fermenter ingeschakeld is. MQTT fermenter birth en death berichhten als een fementer in of uitgeschakeld wordt. MQTT node death bericht bij normaal afsluiten van de daemon. Alle MQTT persistent berichten worden nu goed opgeruikmd.
Michiel Broek <mbroek@mbse.eu>
parents: 515
diff changeset
67 */
49580ca85ab7 Versie 0.6.3. MQTT device berichten alleen als een fermenter ingeschakeld is. MQTT fermenter birth en death berichhten als een fementer in of uitgeschakeld wordt. MQTT node death bericht bij normaal afsluiten van de daemon. Alle MQTT persistent berichten worden nu goed opgeruikmd.
Michiel Broek <mbroek@mbse.eu>
parents: 515
diff changeset
68 void publishDBirth(units_list *unit);
49580ca85ab7 Versie 0.6.3. MQTT device berichten alleen als een fermenter ingeschakeld is. MQTT fermenter birth en death berichhten als een fementer in of uitgeschakeld wordt. MQTT node death bericht bij normaal afsluiten van de daemon. Alle MQTT persistent berichten worden nu goed opgeruikmd.
Michiel Broek <mbroek@mbse.eu>
parents: 515
diff changeset
69
49580ca85ab7 Versie 0.6.3. MQTT device berichten alleen als een fermenter ingeschakeld is. MQTT fermenter birth en death berichhten als een fementer in of uitgeschakeld wordt. MQTT node death bericht bij normaal afsluiten van de daemon. Alle MQTT persistent berichten worden nu goed opgeruikmd.
Michiel Broek <mbroek@mbse.eu>
parents: 515
diff changeset
70 /**
49580ca85ab7 Versie 0.6.3. MQTT device berichten alleen als een fermenter ingeschakeld is. MQTT fermenter birth en death berichhten als een fementer in of uitgeschakeld wordt. MQTT node death bericht bij normaal afsluiten van de daemon. Alle MQTT persistent berichten worden nu goed opgeruikmd.
Michiel Broek <mbroek@mbse.eu>
parents: 515
diff changeset
71 * @brief Publish death of a unit.
49580ca85ab7 Versie 0.6.3. MQTT device berichten alleen als een fermenter ingeschakeld is. MQTT fermenter birth en death berichhten als een fementer in of uitgeschakeld wordt. MQTT node death bericht bij normaal afsluiten van de daemon. Alle MQTT persistent berichten worden nu goed opgeruikmd.
Michiel Broek <mbroek@mbse.eu>
parents: 515
diff changeset
72 * @param unit Unit data structure.
49580ca85ab7 Versie 0.6.3. MQTT device berichten alleen als een fermenter ingeschakeld is. MQTT fermenter birth en death berichhten als een fementer in of uitgeschakeld wordt. MQTT node death bericht bij normaal afsluiten van de daemon. Alle MQTT persistent berichten worden nu goed opgeruikmd.
Michiel Broek <mbroek@mbse.eu>
parents: 515
diff changeset
73 */
49580ca85ab7 Versie 0.6.3. MQTT device berichten alleen als een fermenter ingeschakeld is. MQTT fermenter birth en death berichhten als een fementer in of uitgeschakeld wordt. MQTT node death bericht bij normaal afsluiten van de daemon. Alle MQTT persistent berichten worden nu goed opgeruikmd.
Michiel Broek <mbroek@mbse.eu>
parents: 515
diff changeset
74 void publishDDeath(units_list *unit);
49580ca85ab7 Versie 0.6.3. MQTT device berichten alleen als een fermenter ingeschakeld is. MQTT fermenter birth en death berichhten als een fementer in of uitgeschakeld wordt. MQTT node death bericht bij normaal afsluiten van de daemon. Alle MQTT persistent berichten worden nu goed opgeruikmd.
Michiel Broek <mbroek@mbse.eu>
parents: 515
diff changeset
75
49580ca85ab7 Versie 0.6.3. MQTT device berichten alleen als een fermenter ingeschakeld is. MQTT fermenter birth en death berichhten als een fementer in of uitgeschakeld wordt. MQTT node death bericht bij normaal afsluiten van de daemon. Alle MQTT persistent berichten worden nu goed opgeruikmd.
Michiel Broek <mbroek@mbse.eu>
parents: 515
diff changeset
76 /**
554
ab9f22ab57b5 Versie 0.8.5. Implementatie product code en product naam. Implementatie DLOG MQTT berichten. Verminderde server rotocol debug berichten.
Michiel Broek <mbroek@mbse.eu>
parents: 547
diff changeset
77 * @brief Publish log data.
ab9f22ab57b5 Versie 0.8.5. Implementatie product code en product naam. Implementatie DLOG MQTT berichten. Verminderde server rotocol debug berichten.
Michiel Broek <mbroek@mbse.eu>
parents: 547
diff changeset
78 * @param unit Unit data structure.
ab9f22ab57b5 Versie 0.8.5. Implementatie product code en product naam. Implementatie DLOG MQTT berichten. Verminderde server rotocol debug berichten.
Michiel Broek <mbroek@mbse.eu>
parents: 547
diff changeset
79 */
ab9f22ab57b5 Versie 0.8.5. Implementatie product code en product naam. Implementatie DLOG MQTT berichten. Verminderde server rotocol debug berichten.
Michiel Broek <mbroek@mbse.eu>
parents: 547
diff changeset
80 void publishDLog(units_list *unit);
ab9f22ab57b5 Versie 0.8.5. Implementatie product code en product naam. Implementatie DLOG MQTT berichten. Verminderde server rotocol debug berichten.
Michiel Broek <mbroek@mbse.eu>
parents: 547
diff changeset
81
ab9f22ab57b5 Versie 0.8.5. Implementatie product code en product naam. Implementatie DLOG MQTT berichten. Verminderde server rotocol debug berichten.
Michiel Broek <mbroek@mbse.eu>
parents: 547
diff changeset
82 /**
533
49580ca85ab7 Versie 0.6.3. MQTT device berichten alleen als een fermenter ingeschakeld is. MQTT fermenter birth en death berichhten als een fementer in of uitgeschakeld wordt. MQTT node death bericht bij normaal afsluiten van de daemon. Alle MQTT persistent berichten worden nu goed opgeruikmd.
Michiel Broek <mbroek@mbse.eu>
parents: 515
diff changeset
83 * @brief Publish Node data or birth message.
49580ca85ab7 Versie 0.6.3. MQTT device berichten alleen als een fermenter ingeschakeld is. MQTT fermenter birth en death berichhten als een fementer in of uitgeschakeld wordt. MQTT node death bericht bij normaal afsluiten van de daemon. Alle MQTT persistent berichten worden nu goed opgeruikmd.
Michiel Broek <mbroek@mbse.eu>
parents: 515
diff changeset
84 * @param birth If true send a birh message, else a regular data update.
49580ca85ab7 Versie 0.6.3. MQTT device berichten alleen als een fermenter ingeschakeld is. MQTT fermenter birth en death berichhten als een fementer in of uitgeschakeld wordt. MQTT node death bericht bij normaal afsluiten van de daemon. Alle MQTT persistent berichten worden nu goed opgeruikmd.
Michiel Broek <mbroek@mbse.eu>
parents: 515
diff changeset
85 * @param flag Bit flag to enable control messages.
49580ca85ab7 Versie 0.6.3. MQTT device berichten alleen als een fermenter ingeschakeld is. MQTT fermenter birth en death berichhten als een fementer in of uitgeschakeld wordt. MQTT node death bericht bij normaal afsluiten van de daemon. Alle MQTT persistent berichten worden nu goed opgeruikmd.
Michiel Broek <mbroek@mbse.eu>
parents: 515
diff changeset
86 */
49580ca85ab7 Versie 0.6.3. MQTT device berichten alleen als een fermenter ingeschakeld is. MQTT fermenter birth en death berichhten als een fementer in of uitgeschakeld wordt. MQTT node death bericht bij normaal afsluiten van de daemon. Alle MQTT persistent berichten worden nu goed opgeruikmd.
Michiel Broek <mbroek@mbse.eu>
parents: 515
diff changeset
87 void publishNData(bool birth, int flag);
499
602d9968960f Created mqtt sourcefiles. Use flags to trigger publish messages. The main source does not know and does not care if MQTT messages will be sent. Version 0.5.5
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
88
545
c382a6c58c20 Fixed compiling whithout mqtt support.
Michiel Broek <mbroek@mbse.eu>
parents: 533
diff changeset
89
c382a6c58c20 Fixed compiling whithout mqtt support.
Michiel Broek <mbroek@mbse.eu>
parents: 533
diff changeset
90 #endif

mercurial