i want to create a weewx service
[image: 121.png]
i created a tester all ok
crawl i weewx don't get what i do
what i do badly
2019 m. kovas 19 d., antradienis 16:10:50 UTC+2, rimas petronis rašė:
>
> good day
>
> sorry my weak english translated with google
> i really liked the program not only watching the weather but watching
> other devices i would like to connect to weewx data in another database
>
> database and other composition
>
> [image: image.png]
>
>
> can be connected
>
--
You received this message because you are subscribed to the Google Groups
"weewx-user" group.
To unsubscribe from this group and stop receiving emails from it, send an email
to [email protected].
For more options, visit https://groups.google.com/d/optout.
import weewx
from weewx.engine import StdService
from pymodbus.constants import Endian
from pymodbus.payload import BinaryPayloadDecoder
from pymodbus.client.sync import ModbusTcpClient
class AddElectricity(StdService):
def __init__(self, engine, config_dict):
# Initialize my superclass first:
super(AddElectricity, self).__init__(engine, config_dict)
# Bind to any new archive record events:
self.bind(weewx.NEW_ARCHIVE_RECORD, self.new_archive_record)
def new_archive_record(self, event):
client = ModbusTcpClient('192.168.1.199', port=502)
client.connect()
Ir12 = client.read_input_registers(7713, 1, unit=10)
Ir16 = client.read_input_registers(7705, 1, unit=10)
decoder12 = BinaryPayloadDecoder.fromRegisters(Ir12.registers, byteorder=Endian.Big, wordorder=Endian.Big)
decoder16 = BinaryPayloadDecoder.fromRegisters(Ir16.registers, byteorder=Endian.Big, wordorder=Endian.Big)
dekode12 = (decoder12.decode_16bit_int())
dekode16 = (decoder16.decode_16bit_int())
event.record['battery_voltage'] = dekode12
event.record['battery_sense_voltage'] = dekode16
client.close()
from pymodbus.constants import Endian
from pymodbus.payload import BinaryPayloadDecoder
from pymodbus.client.sync import ModbusTcpClient
client = ModbusTcpClient('192.168.1.199', port=502)
client.connect()
Ir12 = client.read_input_registers(7713, 1, unit=10)
Ir16 = client.read_input_registers(7705, 1, unit=10)
decoder12 = BinaryPayloadDecoder.fromRegisters(Ir12.registers, byteorder=Endian.Big, wordorder=Endian.Big)
decoder16 = BinaryPayloadDecoder.fromRegisters(Ir16.registers, byteorder=Endian.Big, wordorder=Endian.Big)
dekode12 = (decoder12.decode_16bit_int())
dekode16 = (decoder16.decode_16bit_int()) / 100.00
print dekode12
print dekode16
client.close()