Author SHA1 Message Date
Manuel83andGitHub a1740074ac Revert "Updates the boilstep and beerxml recipe import" 2017-10-15 14:48:24 +02:00
Manuel83andGitHub b279dcf347 Merge pull request #105 from swimIan/patch2
Updates the boilstep and beerxml recipe import
2017-10-13 21:56:17 +02:00
swimIanandGitHub b56c10a8a5 Merge branch 'master' into patch2 2017-09-29 13:43:51 -07:00
swimIan 8d2c5c916a Updated again 2017-09-29 13:40:55 -07:00
swimIan d637c08eba update to reflect changes in the master branch 2017-09-29 13:12:03 -07:00
Manuel83andGitHub 03395647ed Merge pull request #130 from bertah/master
GPIOPWM: Fixed misleading label and support decimal frequencies
2017-09-25 13:22:46 +02:00
bertah 65833b1249 GPIOPWM: Fixed misleading label "duty cycle" to "frequency", and handle decimal frequency values. Tested working with Rpi.GPIO 2017-09-23 10:03:48 -04:00
Manuel83andGitHub 25ace8024c Merge pull request #127 from mrillies/patch-1
Add reset to post put call (Fermenter update)
2017-09-22 13:55:10 +02:00
Manuel83 820061cf09 - Two new hop steps added. Now you can set 5 hop alerts 2017-09-22 13:52:00 +02:00
mrilliesandGitHub c1c5faa1f3 Add reset to post put call (Fermenter update)
Added a call to reset the fermenter after an update.

Reset builds step parameter with FerementerStep objects from database.
Reset all clears current ferment steps - this may be positive or negative
2017-09-22 21:41:19 +10:00
Manuel83andGitHub 837b906af1 Merge pull request #126 from mrillies/patch-1
Fix Fermentor Heater power
2017-09-20 23:41:43 +02:00
mrilliesandGitHub 0f42153591 Update controller.py
Fix for issue #125: Missing 'power' in call to actor_on had heater id number set as power
2017-09-21 02:14:56 +10:00
swimIan 5fc5684e56 update boilstep and reorder steps in beerxml recipe import 2017-09-09 10:51:37 -07:00
swimIanandGitHub dc908268dd Merge pull request #9 from swimIan/master
update 9/6/17
2017-09-06 06:10:43 -07:00
swimIanandGitHub 14e4e6d61a Merge pull request #8 from Manuel83/master
Update 9/6/17
2017-09-06 06:08:22 -07:00
swimIan ae7e3a2e7b Adjust check_hop_timer function to alert the user to add the hops at the expected values in the boil process (ex. 60= bittering, 20=aroma, etc), instead of the reverse (ex. 0=bittering, 40=aroma, etc). 2017-08-08 23:36:18 -07:00
swimIan 3eee952a04 Add mashinstep, import mashin temp(infuse_temp) from beerxml, and put boil step ahead of whirlpool and chill steps. 2017-08-08 22:48:23 -07:00
swimIanandGitHub 88b360a8d7 Merge pull request #7 from Manuel83/master
- Add On - Link to Plugin Website
2017-07-29 07:13:20 -07:00
swimIanandGitHub 3761713219 Merge pull request #6 from swimIan/patch2
Merge pull request #5 from swimIan/master
2017-07-22 07:55:19 -07:00
swimIanandGitHub a96c678dd9 Merge pull request #5 from swimIan/master
Update
2017-07-22 07:53:16 -07:00
swimIanandGitHub e7765a2c4c Merge pull request #4 from Manuel83/master
Update
2017-07-22 07:51:27 -07:00
swimIanandGitHub 74b56937e7 Merge pull request #3 from Manuel83/master
Update
2017-07-18 21:43:34 -07:00
4 changed files with 14 additions and 7 deletions
+7 -1
View File
@@ -165,7 +165,11 @@ class BoilStep(StepBase):
hop_2 = Property.Number("Hop 2 Addition", configurable=True, description="Second Hop alert") hop_2 = Property.Number("Hop 2 Addition", configurable=True, description="Second Hop alert")
hop_2_added = Property.Number("", default_value=None) hop_2_added = Property.Number("", default_value=None)
hop_3 = Property.Number("Hop 3 Addition", configurable=True) hop_3 = Property.Number("Hop 3 Addition", configurable=True)
hop_3_added = Property.Number("", default_value=None, description="Second Hop alert") hop_3_added = Property.Number("", default_value=None, description="Third Hop alert")
hop_4 = Property.Number("Hop 4 Addition", configurable=True)
hop_4_added = Property.Number("", default_value=None, description="Fourth Hop alert")
hop_5 = Property.Number("Hop 5 Addition", configurable=True)
hop_5_added = Property.Number("", default_value=None, description="Fives Hop alert")
def init(self): def init(self):
''' '''
@@ -217,6 +221,8 @@ class BoilStep(StepBase):
self.check_hop_timer(1, self.hop_1) self.check_hop_timer(1, self.hop_1)
self.check_hop_timer(2, self.hop_2) self.check_hop_timer(2, self.hop_2)
self.check_hop_timer(3, self.hop_3) self.check_hop_timer(3, self.hop_3)
self.check_hop_timer(4, self.hop_4)
self.check_hop_timer(5, self.hop_5)
# Check if timer finished and go to next step # Check if timer finished and go to next step
if self.is_timer_finished() == True: if self.is_timer_finished() == True:
self.notify("Boil Step Completed!", "Starting the next step", timeout=None) self.notify("Boil Step Completed!", "Starting the next step", timeout=None)
+5 -5
View File
@@ -36,10 +36,10 @@ class GPIOSimple(ActorBase):
class GPIOPWM(ActorBase): class GPIOPWM(ActorBase):
gpio = Property.Select("GPIO", options=[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27], description="GPIO to which the actor is connected") gpio = Property.Select("GPIO", options=[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27], description="GPIO to which the actor is connected")
duty_cylce = Property.Number("Duty Cycle", configurable=True) frequency = Property.Number("Frequency (Hz)", configurable=True)
p = None p = None
power = 100 power = 100 # duty cycle
def init(self): def init(self):
GPIO.setup(int(self.gpio), GPIO.OUT) GPIO.setup(int(self.gpio), GPIO.OUT)
@@ -50,10 +50,10 @@ class GPIOPWM(ActorBase):
if power is not None: if power is not None:
self.power = int(power) self.power = int(power)
if self.duty_cylce is None: if self.frequency is None:
duty_cylce = 50 self.frequency = 0.5 # 2 sec
self.p = GPIO.PWM(int(self.gpio), int(self.duty_cylce)) self.p = GPIO.PWM(int(self.gpio), float(self.frequency))
self.p.start(int(self.power)) self.p.start(int(self.power))
def set_power(self, power): def set_power(self, power):
+1 -1
View File
@@ -139,7 +139,7 @@ class FermenterController(ControllerBase, ActorController, SensorController):
def heater_on(self, power=100): def heater_on(self, power=100):
f = self.api.cache.get("fermenter").get(self.fermenter_id) f = self.api.cache.get("fermenter").get(self.fermenter_id)
if f.heater is not None: if f.heater is not None:
self.actor_on(int(f.heater)) self.actor_on(power, int(f.heater))
@cbpi.try_catch(None) @cbpi.try_catch(None)
def heater_off(self): def heater_off(self):
+1
View File
@@ -77,6 +77,7 @@ class FermenterView(BaseView):
def _post_put_callback(self, m): def _post_put_callback(self, m):
m.state = False m.state = False
self.reset(int(m.id))
@route('/<int:id>/targettemp/<temp>', methods=['POST']) @route('/<int:id>/targettemp/<temp>', methods=['POST'])
def postTargetTemp(self, id, temp): def postTargetTemp(self, id, temp):