Changeset - 981a1d0baca8
[Not reviewed]
default
0 2 0
matthewreed - 9 years ago 2016-07-25 22:55:45

Added output logging and a logging bug fix
2 files changed with 19 insertions and 8 deletions:
0 comments (0 inline, 0 general)
hydrobot.py
Show inline comments
 
@@ -12,8 +12,7 @@ from influxdb import SeriesHelper
 
from apscheduler.schedulers.background import BackgroundScheduler
 

	
 
#TODO
 
#fix temperature offset
 
#database series helper
 
#fix temperature offsets
 
#database time interval logging
 

	
 
config = configparser.ConfigParser(allow_no_value = True)
 
@@ -59,11 +58,12 @@ class Database:
 

	
 
    def log_data(self, msgdb, message):
 
        if message == msgdb.AirSense:
 
            
 
            MySeriesHelper(measurement='air_temp', value=(float)(message.Temperature.value))
 
            MySeriesHelper(measurement='air_humidity', value=(float)(message.Humidity.value))
 
            MySeriesHelper(measurement='air_pressure', value=(float)(message.Pressure.value))
 
        if message == msgdb.RelayDriveIn:
 
            MySeriesHelper(measurement='water_flow_rate', value=(float)(message.FlowRate.value))
 
            print(message.FlowRate.value)
 
            MySeriesHelper(measurement='input_1', value=(float)(message.Input1.value))
 
            MySeriesHelper(measurement='input_2', value=(float)(message.Input2.value))
 
            MySeriesHelper(measurement='input_3', value=(float)(message.Input3.value))
 
@@ -106,7 +106,7 @@ class CanBus:
 
                    if DEBUG_CAN_DETAIL:
 
                        print(s)
 
                        print(s.value)
 
                    self.database.log_data(self.msgdb, message)
 
                self.database.log_data(self.msgdb, message)
 
                
 
    def send_can(self):
 
        self.relay_send_msg.Nothing.value = 0
 
@@ -128,6 +128,15 @@ class CanBus:
 
        msg.lookup_signal(output).value = state
 
        self.dev.send(msg.encode())
 
        
 
        if msg.lookup_signal(output) == msg.Output1:
 
            MySeriesHelper(measurement='output_1', value=state)
 
        if msg.lookup_signal(output) == msg.Output2:
 
            MySeriesHelper(measurement='output_2', value=state)
 
        if msg.lookup_signal(output) == msg.Output3:
 
            MySeriesHelper(measurement='output_3', value=state)
 
        if msg.lookup_signal(output) == msg.Output4:
 
            MySeriesHelper(measurement='output_4', value=state)
 
        
 
        
 
class Scheduler:
 
    
 
@@ -188,6 +197,7 @@ def func():
 
def main():
 
    
 
    database = Database()
 
    
 
    canbus = CanBus(database)
 
    canbus.start()
 
    canbus.start_receive()
hydrobot_can.json
Show inline comments
 
@@ -23,7 +23,8 @@
 
        {
 
        "name": "RelayDriveIn",
 
        "id": "0x204",
 
        "signals": { "0": {"name": "Nothing", "bit_length": 32, "factor": 1, "offset": 0, "unit": ""},
 
        "signals": { "0": {"name": "FlowRate", "bit_length": 16, "factor": 0.133, "offset": 0, "unit": "Hz"},
 
                    "16": {"name": "Nothing", "bit_length": 16, "factor": 1, "offset": 0, "unit": ""},
 
                    "32": {"name": "Input1", "bit_length": 8, "factor": 1, "offset": 0, "unit": "bool"},
 
                    "40": {"name": "Input2", "bit_length": 8, "factor": 1, "offset": 0, "unit": "bool"},
 
                    "48": {"name": "Input3", "bit_length": 8, "factor": 1, "offset": 0, "unit": "bool"},
 
@@ -44,9 +45,9 @@
 
        "name": "WaterSense",
 
        "id": "0x206",
 
        "signals": { "0": {"name": "Nothing", "bit_length": 16, "factor": 1, "offset": 0, "unit": ""},
 
                    "16": {"name": "PercentFull", "bit_length": 8, "factor": 1, "offset": 0, "unit": "bool"},
 
                    "24": {"name": "Temperature", "bit_length": 8, "factor": 0.5, "offset": 0, "unit": "bool"},
 
                    "32": {"name": "RawDebug", "bit_length": 16, "factor": 1, "offset": 0, "unit": "bool"}
 
                    "16": {"name": "PercentFull", "bit_length": 8, "factor": 1, "offset": 0, "unit": "%"},
 
                    "24": {"name": "Temperature", "bit_length": 8, "factor": 0.5, "offset": 0, "unit": "C"},
 
                    "32": {"name": "RawDebug", "bit_length": 16, "factor": 1, "offset": 0, "unit": ""}
 
                   }
 
        }
 

	
0 comments (0 inline, 0 general)