####################################################################### ####################### emonhub.conf ######################### ####################################################################### ### ### SPECIMEN emonHub configuration file ### Note that when installed from apt, a new config file is written ### by the debian/postinst script, so changing this file will do ### nothing in and of itself. ### ### Each Interfacer and each Reporter has ### - a [[name]]: a unique string ### - a type: the name of the class it instantiates ### - a set of init_settings (depends on the type) ### - a set of runtimesettings (depends on the type) ### Both init_settings and runtimesettings sections must be defined, ### even if empty. Init settings are used at initialization, ### and runtime settings are refreshed on a regular basis. ### Many settings below are "commented out" as they are not mandatory and ### have been included as a template or to provide alternative options ### removing the leading # will enable the setting and override the default ### Default settings are shown as comments on the same line as the setting ### eg #(default:xyz) "xyz" is set if the setting is "commented out". ### ### All lines beginning with '###' are comments and can be safely removed. ### ####################################################################### ####################### emonHub settings ####################### ####################################################################### [hub] ### loglevel must be one of DEBUG, INFO, WARNING, ERROR, and CRITICAL ### see here : http://docs.python.org/2/library/logging.html loglevel = WARNING #(default:WARNING) ####################################################################### ####################### Interfacers ####################### ####################################################################### [interfacers] ### This interfacer manages the RFM2Pi module [[RFM2Pi]] Type = EmonHubJeeInterfacer [[[init_settings]]] com_port = /dev/ttyS0 com_baud = 9600 [[[runtimesettings]]] pubchannels = ToEmonCMS, subchannels = ToRFM12, # datacode = B #(default:h) # scale = 100 #(default:1) group = 210 #(default:210) frequency = 433 #(default:433) baseid = 15 # JVA changed from 5 to 15 (emonPi default:5) quiet = false #(default:true) calibration = 230V #(UK/EU: 230V, US: 110V) # interval = 300 #(default:0) # nodeoffset = 32 #(default:0) ### This interfacer manages the RFM2Pi module [[MQTT]] Type = EmonHubMqttInterfacer [[[init_settings]]] mqtt_host = 127.0.0.1 mqtt_port = 1883 mqtt_user = emonpi mqtt_passwd = emonpimqtt2016 [[[runtimesettings]]] pubchannels = ToRFM12, subchannels = ToEmonCMS, # emonhub/rx/10/values format - default emoncms nodes module node_format_enable = 1 node_format_basetopic = emonhub/ # nodes/emontx/power1 format nodevar_format_enable = 0 nodevar_format_basetopic = nodes/ [[emoncmsorg]] Type = EmonHubEmoncmsHTTPInterfacer [[[init_settings]]] [[[runtimesettings]]] pubchannels = ToRFM12, subchannels = ToEmonCMS, url = http://emoncms.org apikey = 56c5........e53 senddata = 1 sendstatus = 1 ####################################################################### ####################### Nodes ####################### ####################################################################### [nodes] ### List of nodes by node ID ### 'datacode' is default for node and 'datacodes' are per value data codes. ### if both are present 'datacode' is ignored in favour of 'datacodes' ### eg node 99 would expect 1 long and 4 ints, unless the "datacodes" line ### was removed, then "datacode" would make it expect any number of longs, ### likewise per value "scales" will override default node "scale". [[5]] nodename = emonPi firmware = emonPi_RFM69CW_RF12Demo_DiscreteSampling.ino hardware = emonpi [[[rx]]] names = power1,power2,power1_plus_power2,Vrms,T1,T2,T3,T4,T5,T6,pulseCount datacodes = h, h, h, h, h, h, h, h, h, h, L scales = 1,1,1,0.01,0.1,0.1,0.1,0.1,0.1,0.1,1 units = W,W,W,V,C,C,C,C,C,C,p [[19]] nodename = emonTH_1 firmware = emonTH_DHT22_DS18B20_RFM69CW hardware = emonTH_(Node_ID_Switch_DIP1:OFF_DIP2:OFF) [[[rx]]] names = temperature, external temperature, humidity, battery datacode = h scales = 0.1,0.1,0.1,0.1 units = C,C,%,V [[20]] nodename = emonTH_2 firmware = emonTH_DHT22_DS18B20_RFM69CW hardware = emonTH_(Node_ID_Switch_DIP1:ON_DIP2:OFF) [[[rx]]] names = temperature, external temperature, humidity, battery datacode = h scales = 0.1,0.1,0.1,0.1 units = C,C,%,V [[21]] nodename = emonTH_3 firmware = emonTH_DHT22_DS18B20_RFM69CW hardware = emonTH_(Node_ID_Switch_DIP1:OFF_DIP2:ON) [[[rx]]] names = temperature, external temperature, humidity, battery datacode = h scales = 0.1,0.1,0.1,0.1 units = C,C,%,V [[22]] nodename = emonTH_4 firmware = V1_5_emonTH_DHT22_DS18B20_RFM69CW hardware = emonTH_(Node_ID_Switch_DIP1:ON_DIP2:ON) [[[rx]]] names = temperature, external temperature, humidity, battery datacode = h scales = 0.1,0.1,0.1,0.1 units = C,C,%,V [[23]] nodename = emonTH_5 firmware = V1_5_emonTH_DHT22_DS18B20_RFM69CW hardware = emonTH_(Node_ID_Switch_DIP1:ON_DIP2:OFF) [[[rx]]] names = temperature, external temperature, humidity, battery datacode = h scales = 0.1,0.1,0.1,0.1 units = C,C,%,V # JVDA: This node is active. [[10]] nodename = emonTx_1 firmware =V1_6_emonTxV3_4_DiscreteSampling hardware = emonTx_(NodeID_DIP_Switch1:OFF) [[[rx]]] #names = power1, power2, power3, power4, Vrms, temp1, temp2, temp3, temp4, temp5, temp6, pulse #Firmware V1.6 names = power1, power2, power3, power4, Vrms, temp #Firmware =