Esempio n. 1
0
def main():
    """main part"""
    temphumi = DHT22_AM2302(19)  # BCM 19 = PIN 35
    temp_cpu = CPU()

    measurements = {
        DS_TEMP1: Measurements(3),
        DS_TEMPCPU: Measurements(3),
        DS_TEMP2: Measurements(3),
        DS_HUMI: Measurements(3),
    }

    rrd_template = DS_TEMP1 + ":" + DS_TEMPCPU + ":" + DS_TEMP2 + ":" + DS_HUMI

    while True:
        _temp, _humi = temphumi.read()
        measurements[DS_TEMP1].append(_temp)
        measurements[DS_HUMI].append(_humi)
        measurements[DS_TEMPCPU].append(temp_cpu.read())
        measurements[DS_TEMP2].append(0)  # empty, for later useage

        rrd_data = (
            "N:{:.2f}".format(measurements[DS_TEMP1].last())
            + ":{:.2f}".format(measurements[DS_TEMPCPU].last())
            + ":{:.2f}".format(measurements[DS_TEMP2].last())
            + ":{:.2f}".format(measurements[DS_HUMI].last())
        )
        print strftime("%H:%M:%S", localtime()), rrd_data
        rrdtool.update(RRDFILE, "--template", rrd_template, rrd_data)

        sleep(35)
Esempio n. 2
0
def main():
    """main part"""
    temphumi = DHT22_AM2302(19)  # BCM 19 = PIN 35
    temp_cpu = CPU()

    measurements = {DS_TEMP1:   Measurements(3), \
                    DS_TEMPCPU: Measurements(3), \
                    DS_TEMP2:   Measurements(3), \
                    DS_HUMI:    Measurements(3)}

    rrd_template = DS_TEMP1   + ":" + \
                   DS_TEMPCPU + ":" + \
                   DS_TEMP2   + ":" + \
                   DS_HUMI

    while (True):
        _temp, _humi = temphumi.read()
        measurements[DS_TEMP1].append(_temp)
        measurements[DS_HUMI].append(_humi)
        measurements[DS_TEMPCPU].append(temp_cpu.read())
        measurements[DS_TEMP2].append(0)  # empty, for later useage

        rrd_data     = "N:{:.2f}".format(measurements[DS_TEMP1].last()) + \
                        ":{:.2f}".format(measurements[DS_TEMPCPU].last()) + \
                        ":{:.2f}".format(measurements[DS_TEMP2].last()) + \
                        ":{:.2f}".format(measurements[DS_HUMI].last())
        print strftime("%H:%M:%S", localtime()), rrd_data
        rrdtool.update(RRDFILE, "--template", rrd_template, rrd_data)

        sleep(35)
Esempio n. 3
0
def main():
    """main part"""
    temp1        = DS1820("/sys/bus/w1/devices/28-000006d62eb1/w1_slave")
    temp2        = DS1820("/sys/bus/w1/devices/28-000006dd6ac1/w1_slave")
    temp4        = DS1820("/sys/bus/w1/devices/28-000006de535b/w1_slave")
    temphumi     = DHT22_AM2302(21)   # BCM 21 = PIN 40
    tempcpu      = CPU()
    heatcontrol  = Schedules.Control(Schedules.ScheduleHeat(), heatlamp)
    lightcontrol = Schedules.Control(Schedules.ScheduleLight(), lightlamp)

    measurements = {DS_TEMP1:   Measurements(), \
                    DS_TEMP2:   Measurements(), \
                    DS_TEMP3:   Measurements(), \
                    DS_TEMP4:   Measurements(), \
                    DS_TEMPCPU: Measurements(), \
                    DS_HUMI:    Measurements()}
 
    rrd_template = DS_TEMP1   + ":" + \
                   DS_TEMP2   + ":" + \
                   DS_TEMP3   + ":" + \
                   DS_TEMP4   + ":" + \
                   DS_TEMPCPU + ":" + \
                   DS_HUMI    + ":" + \
                   DS_HEATING + ":" + \
                   DS_LIGHTING
                     
    while (True):
        measurements[DS_TEMP1].append(temp1.read())
        measurements[DS_TEMP2].append(temp2.read())
        measurements[DS_TEMP4].append(temp4.read())
        _temp3, _humi = temphumi.read()
        measurements[DS_TEMP3].append(_temp3)
        measurements[DS_HUMI].append(_humi)
        measurements[DS_TEMPCPU].append(tempcpu.read())

        heatcontrol.control(measurements[DS_TEMP3].avg())
        lightcontrol.control(measurements[DS_TEMP3].avg())
        
        rrd_data     = "N:{:.2f}".format(measurements[DS_TEMP1].last()) + \
                        ":{:.2f}".format(measurements[DS_TEMP2].last()) + \
                        ":{:.2f}".format(measurements[DS_TEMP3].last()) + \
                        ":{:.2f}".format(measurements[DS_TEMP4].last()) + \
                        ":{:.2f}".format(measurements[DS_TEMPCPU].last()) + \
                        ":{:.2f}".format(measurements[DS_HUMI].last()) + \
                        ":{:}".format(heatlamp.status())    + \
                        ":{:}".format(lightlamp.status())
        print strftime("%H:%M:%S", localtime()), rrd_data
        rrdtool.update(RRDFILE, "--template", rrd_template, rrd_data) 

        sleep(35)
Esempio n. 4
0
def main():
    """main part"""
    temp1 = DS1820("/sys/bus/w1/devices/28-000006d62eb1/w1_slave")
    temp2 = DS1820("/sys/bus/w1/devices/28-000006dd6ac1/w1_slave")
    temp4 = DS1820("/sys/bus/w1/devices/28-000006de535b/w1_slave")
    temphumi = DHT22_AM2302(21)  # BCM 21 = PIN 40
    tempcpu = CPU()
    heatcontrol = Schedules.Control(Schedules.ScheduleHeat(), heatlamp)
    lightcontrol = Schedules.Control(Schedules.ScheduleLight(), lightlamp)

    measurements = {DS_TEMP1:   Measurements(), \
                    DS_TEMP2:   Measurements(), \
                    DS_TEMP3:   Measurements(), \
                    DS_TEMP4:   Measurements(), \
                    DS_TEMPCPU: Measurements(), \
                    DS_HUMI:    Measurements()}

    rrd_template = DS_TEMP1   + ":" + \
                   DS_TEMP2   + ":" + \
                   DS_TEMP3   + ":" + \
                   DS_TEMP4   + ":" + \
                   DS_TEMPCPU + ":" + \
                   DS_HUMI    + ":" + \
                   DS_HEATING + ":" + \
                   DS_LIGHTING

    while (True):
        measurements[DS_TEMP1].append(temp1.read())
        measurements[DS_TEMP2].append(temp2.read())
        measurements[DS_TEMP4].append(temp4.read())
        _temp3, _humi = temphumi.read()
        measurements[DS_TEMP3].append(_temp3)
        measurements[DS_HUMI].append(_humi)
        measurements[DS_TEMPCPU].append(tempcpu.read())

        heatcontrol.control(measurements[DS_TEMP3].avg())
        lightcontrol.control(measurements[DS_TEMP3].avg())

        rrd_data     = "N:{:.2f}".format(measurements[DS_TEMP1].last()) + \
                        ":{:.2f}".format(measurements[DS_TEMP2].last()) + \
                        ":{:.2f}".format(measurements[DS_TEMP3].last()) + \
                        ":{:.2f}".format(measurements[DS_TEMP4].last()) + \
                        ":{:.2f}".format(measurements[DS_TEMPCPU].last()) + \
                        ":{:.2f}".format(measurements[DS_HUMI].last()) + \
                        ":{:}".format(heatlamp.status())    + \
                        ":{:}".format(lightlamp.status())
        print strftime("%H:%M:%S", localtime()), rrd_data
        rrdtool.update(RRDFILE, "--template", rrd_template, rrd_data)

        sleep(35)
def main():
    """main part"""
    temp_fridge = DS1820("/sys/bus/w1/devices/28-000006dc8d42/w1_slave")
    temp_cpu = CPU()
    temphumi = DHT22_AM2302(21)  # BCM 21 = PIN 40

    measurements = {DS_TEMP1:   Measurements(3), \
                    DS_TEMPCPU: Measurements(3), \
                    DS_TEMP2:   Measurements(3), \
                    DS_HUMI:    Measurements(3)}

    rrd_template = DS_TEMP1   + ":" + \
                   DS_TEMPCPU + ":" + \
                   DS_TEMP2   + ":" + \
                   DS_HUMI    + ":" + \
                   DS_ON      + ":" + \
                   DS_OPEN

    while (True):
        measurements[DS_TEMP1].append(temp_fridge.read_temperature())
        measurements[DS_TEMPCPU].append(temp_cpu.read())

        _temp, _humi = temphumi.read()
        measurements[DS_TEMP2].append(_temp)
        measurements[DS_HUMI].append(_humi)

        if (measurements[DS_TEMP2].avg() > 5.2):
            fridge.on()
        if (measurements[DS_TEMP2].avg() < 5.0):
            fridge.off()

# if (temp > 6): fridge.on()
# else if (temp > 5):
#   fridge_on_time(60,90) # für 60 sekunden einschalten; 90 Sekunden mindestens aus
# else if (temp < 5.0):
#   fridge.off()

# class fridge_... derived from class Heating

# threading: https://docs.python.org/2/library/threading.html
# multi inheritance:  https://docs.python.org/2/tutorial/classes.html#multiple-inheritance
#    class DerivedClassName(Base1, Base2, Base3):

# fridge_on_time:
#  thread:
#    with lock:
#        timing = active
#    __on()
#    sleep(60)
#    __off()
#    sleep(90)
#    with lock:
#         timing = non_active

# in  on(), off()
#  ...
#  if (active): pass





        rrd_data     = "N:{:.2f}".format(measurements[DS_TEMP1].last()) + \
                        ":{:.2f}".format(measurements[DS_TEMPCPU].last()) + \
                        ":{:.2f}".format(measurements[DS_TEMP2].last()) + \
                        ":{:.2f}".format(measurements[DS_HUMI].last()) + \
                        ":{:}".format(fridge.status())    + \
                        ":{:}".format(reedcontact.status_stretched())
        print strftime("%H:%M:%S", localtime()), rrd_data
        rrdtool.update(RRDFILE, "--template", rrd_template, rrd_data)

        writeMonitoringData(rrd_data)

        sleep(35)
Esempio n. 6
0
def main():
    """main part"""
    qvalue_tempbox     = SensorValueLock("ID_08", "TempDonutBox", SensorValue.Types.Temp, u'°C', Lock())
    qvalue_humi        = SensorValueLock("ID_09", "HumiDonut", SensorValue.Types.Humi, u'% rF', Lock())
    qvalue_tempoutdoor = SensorValueLock("ID_12", "TempDonutOutDoor", SensorValue.Types.Temp, u'°C', Lock())
    qvalue_heatlamp    = SensorValueLock("ID_10", "SwitchHeatlamp", SensorValue.Types.Switch, u'Heizung:', Lock())
    qvalue_lightlamp   = SensorValueLock("ID_11", "SwitchLightlamp", SensorValue.Types.Switch, u'Beleuchtung:', Lock())
    sq.register(qvalue_tempbox)
    sq.register(qvalue_humi)
    sq.register(qvalue_tempoutdoor)
    sq.register(qvalue_heatlamp)
    sq.register(qvalue_lightlamp)
    sq.start()

    temp1        = DS1820("/sys/bus/w1/devices/28-000006d62eb1/w1_slave", qvalue_tempoutdoor)
    temp2        = DS1820("/sys/bus/w1/devices/28-000006dd6ac1/w1_slave")
    temp4        = DS1820("/sys/bus/w1/devices/28-000006de535b/w1_slave")
    temphumi     = DHT22_AM2302(21, qvalue_tempbox, qvalue_humi) # BCM 21 = PIN 40
    tempcpu      = CPU()
    heatcontrol  = Schedules.Control(Schedules.ScheduleHeat(), heatlamp, qvalue_heatlamp)
    lightcontrol = Schedules.Control(Schedules.ScheduleLight(), lightlamp, qvalue_lightlamp)

    measurements = {DS_TEMP1:   Measurements(), \
                    DS_TEMP2:   Measurements(), \
                    DS_TEMP3:   Measurements(), \
                    DS_TEMP4:   Measurements(), \
                    DS_TEMPCPU: Measurements(), \
                    DS_HUMI:    Measurements()}
 
    rrd_template = DS_TEMP1   + ":" + \
                   DS_TEMP2   + ":" + \
                   DS_TEMP3   + ":" + \
                   DS_TEMP4   + ":" + \
                   DS_TEMPCPU + ":" + \
                   DS_HUMI    + ":" + \
                   DS_HEATING + ":" + \
                   DS_LIGHTING
                     
    while (True):
        measurements[DS_TEMP1].append(temp1.read_temperature())
        measurements[DS_TEMP2].append(temp2.read_temperature())
        measurements[DS_TEMP4].append(temp4.read_temperature())
        _temp3, _humi = temphumi.read()
        measurements[DS_TEMP3].append(_temp3)
        measurements[DS_HUMI].append(_humi)
        measurements[DS_TEMPCPU].append(tempcpu.read())

        heatcontrol.control(measurements[DS_TEMP3].avg())
        lightcontrol.control(measurements[DS_TEMP3].avg())
        
        rrd_data     = "N:{:.2f}".format(measurements[DS_TEMP1].last()) + \
                        ":{:.2f}".format(measurements[DS_TEMP2].last()) + \
                        ":{:.2f}".format(measurements[DS_TEMP3].last()) + \
                        ":{:.2f}".format(measurements[DS_TEMP4].last()) + \
                        ":{:.2f}".format(measurements[DS_TEMPCPU].last()) + \
                        ":{:.2f}".format(measurements[DS_HUMI].last()) + \
                        ":{:}".format(heatlamp.status())    + \
                        ":{:}".format(lightlamp.status())
        print strftime("%H:%M:%S", localtime()), rrd_data
        rrdtool.update(RRDFILE, "--template", rrd_template, rrd_data) 

        sleep(35)
Esempio n. 7
0
def main():
    """main part"""
    temp_fridge = DS1820("/sys/bus/w1/devices/28-000006dc8d42/w1_slave")
    temp_cpu    = CPU()
    temphumi    = DHT22_AM2302(21)   # BCM 21 = PIN 40

    measurements = {DS_TEMP1:   Measurements(3), \
                    DS_TEMPCPU: Measurements(3), \
                    DS_TEMP2:   Measurements(3), \
                    DS_HUMI:    Measurements(3)}

    rrd_template = DS_TEMP1   + ":" + \
                   DS_TEMPCPU + ":" + \
                   DS_TEMP2   + ":" + \
                   DS_HUMI    + ":" + \
                   DS_ON      + ":" + \
                   DS_OPEN

    while (True):
        measurements[DS_TEMP1].append(temp_fridge.read())
        measurements[DS_TEMPCPU].append(temp_cpu.read())

        _temp, _humi = temphumi.read()
        measurements[DS_TEMP2].append(_temp)
        measurements[DS_HUMI].append(_humi)

        if (measurements[DS_TEMP2].avg() > 5.2):
            fridge.on()
        if (measurements[DS_TEMP2].avg() < 5.0):
            fridge.off()



# if (temp > 6): fridge.on()
# else if (temp > 5): 
#   fridge_on_time(60,90) # für 60 sekunden einschalten; 90 Sekunden mindestens aus
# else if (temp < 5.0): 
#   fridge.off()


# class fridge_... derived from class Heating

# threading: https://docs.python.org/2/library/threading.html
# multi inheritance:  https://docs.python.org/2/tutorial/classes.html#multiple-inheritance
#    class DerivedClassName(Base1, Base2, Base3):

# fridge_on_time:
#  thread:
#    with lock:
#        timing = active
#    __on()
#    sleep(60)
#    __off()
#    sleep(90)
#    with lock:
#         timing = non_active


# in  on(), off()
#  ...
#  if (active): pass





        rrd_data     = "N:{:.2f}".format(measurements[DS_TEMP1].last()) + \
                        ":{:.2f}".format(measurements[DS_TEMPCPU].last()) + \
                        ":{:.2f}".format(measurements[DS_TEMP2].last()) + \
                        ":{:.2f}".format(measurements[DS_HUMI].last()) + \
                        ":{:}".format(fridge.status())    + \
                        ":{:}".format(reedcontact.status_stretched())
        print strftime("%H:%M:%S", localtime()), rrd_data
        rrdtool.update(RRDFILE, "--template", rrd_template, rrd_data)

        writeMonitoringData(rrd_data)

        sleep(35)