@@ -131,21 +131,28 @@ def gen_mainly_off():
131
131
parser .add_argument ("gpio_pin" , help = "GPIO pin connected to the pump" , type = int )
132
132
parser .add_argument ("--thingspeak" , dest = "thing_speak_api" ,
133
133
help = "API key to write new sensor readings to thingspeak.com channel" )
134
+ parser .add_argument ("--healthchecks" , dest = "healthchecks_url" ,
135
+ help = "healthchecks.io URL to ping when pump is activated" )
134
136
parser .add_argument ("--gpio" , help = "GPIO library to use implementation" , type = str , choices = ["RPi.GPIO" , "wiringpi" ],
135
137
dest = "gpio_lib" , default = None )
136
138
args = parser .parse_args ()
137
139
print (args )
138
140
139
141
# --- Setup where to log the data
140
- logger = None
142
+ all_loggers = []
141
143
142
- # add a logger to ThingSpeak if defined, otherwise print to console
144
+ # add a logger to ThingSpeak if defined
143
145
if args .thing_speak_api :
144
146
print ("Adding ThingSpeak logger (API key %s)" % args .thing_speak_api )
145
- logger = loggers .ThingSpeak (args .thing_speak_api )
147
+ all_loggers . append ( loggers .ThingSpeak (args .thing_speak_api ) )
146
148
else :
147
149
print ("Adding console logger" )
148
- logger = loggers .ConsoleLogger ()
150
+ all_loggers .append (loggers .ConsoleLogger ())
151
+
152
+ # add a logger to HealthChecks.io if defined
153
+ if args .healthchecks_url :
154
+ print ("Adding HealthChecks logger (URL %s)" % args .healthchecks_url )
155
+ all_loggers .append (loggers .HealthChecks (args .thing_speak_url ))
149
156
150
157
print ("Connecting to pin %s" % args .gpio_pin )
151
158
@@ -166,7 +173,9 @@ def gen_mainly_off():
166
173
print ("GPIO disabled" )
167
174
pump = AbstractPump (args .gpio_pin )
168
175
169
- pump .add_listener (logger )
176
+ # add all the loggers setup previously
177
+ for logger in all_loggers :
178
+ pump .add_listener (logger )
170
179
171
180
try :
172
181
print ("Waiting for events..." )
0 commit comments