Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #Ich benötige nun ein Programm das mir wenn am Panel 60-70 Grad sind eine Pumpe (Relais Karte) abschaltet bis die Temperatur auf 45 gefallen ist am (Vorlauf Panel)
- #Und wenn mehr wie 50 grad i. Puffer dann soll das Aquarium beheizt werden wenn mehr wie 50 im Puffer und mehr wie 60 Grad am Panel dann soll wenn das Aquarium unser 30 Grad fällt das direkt vom Panel beheizt werden.
- # https://de.wikipedia.org/wiki/Hysterese
- class Hysterese:
- def __init__(self, get_temp, low=45, high=70):
- self.get_temp = get_temp
- self.low = low
- self.high = high
- self.state = False
- def __call__(self):
- temp = self.get_temp()
- if self.state and temp >= self.high:
- self.state = False
- elif not self.state and temp <= self.low:
- self.state = True
- return self.state, temp
- def temperatur_generator():
- while True:
- for t in [40, 45, 50, 60, 70, 80, 70, 60, 50, 45, 35, 90]:
- yield t
- def test():
- t_gen = temperatur_generator()
- h = Hysterese(lambda: next(t_gen), low=45, high=70)
- # h = Hysterese(get_temp_function, low=45, high=70)
- for i in range(20):
- state, temp = h()
- print('Temp: {}\tState: {}'.format(temp, state))
- if __name__ == '__main__':
- test()
- #Temp: 40 State: True
- #Temp: 45 State: True
- #Temp: 50 State: True
- #Temp: 60 State: True
- #Temp: 70 State: False
- #Temp: 80 State: False
- #Temp: 70 State: False
- #Temp: 60 State: False
- #Temp: 50 State: False
- #Temp: 45 State: True
- #Temp: 35 State: True
- #Temp: 90 State: False
- #Temp: 40 State: True
- #Temp: 45 State: True
- #Temp: 50 State: True
- #Temp: 60 State: True
- #Temp: 70 State: False
- #Temp: 80 State: False
- #Temp: 70 State: False
- #Temp: 60 State: False
Add Comment
Please, Sign In to add comment