hardware:channels:solar_inverters:sma
Unterschiede
Hier werden die Unterschiede zwischen zwei Versionen angezeigt.
Beide Seiten der vorigen RevisionVorhergehende Überarbeitung | |||
hardware:channels:solar_inverters:sma [2020/12/18 13:23] – added sma sunny boy wasserma | hardware:channels:solar_inverters:sma [2020/12/18 13:30] (aktuell) – [SMA Sunny Boy] wasserma | ||
---|---|---|---|
Zeile 1267: | Zeile 1267: | ||
Dann kann man per request die JSON daten abfragen. | Dann kann man per request die JSON daten abfragen. | ||
- | Hierzu ein python script: | + | http:// |
+ | json response example: | ||
+ | < | ||
+ | ... | ||
+ | " | ||
+ | " | ||
+ | { | ||
+ | " | ||
+ | } | ||
+ | ] | ||
+ | }, | ||
+ | ... | ||
+ | </ | ||
+ | Hierzu ein python script, dass den aktullen Wert in eine Datei schreibt, die wir dann mit dem vzlogger auslesen können: | ||
+ | |||
+ | < | ||
+ | import requests | ||
+ | import time | ||
+ | import logging | ||
+ | import argparse | ||
+ | |||
+ | |||
+ | logging.basicConfig( | ||
+ | level=logging.INFO, | ||
+ | format=" | ||
+ | handlers=[logging.StreamHandler()], | ||
+ | ) | ||
+ | |||
+ | sma_host = : str = None | ||
+ | out_put_file | ||
+ | |||
+ | def pullData(): | ||
+ | try: | ||
+ | data = requests.get( | ||
+ | " | ||
+ | ).json() | ||
+ | value = data[" | ||
+ | logging.debug(data) | ||
+ | if value: | ||
+ | return value | ||
+ | except Exception as e: | ||
+ | logging.error(" | ||
+ | return -1 | ||
+ | |||
+ | |||
+ | def main(): | ||
+ | while True: | ||
+ | value = pullData() | ||
+ | if value != -1: | ||
+ | if out_put_file: | ||
+ | f = open(out_put_file, | ||
+ | f.write(str(value)) | ||
+ | f.close() | ||
+ | else: | ||
+ | print(value) | ||
+ | time.sleep(5) | ||
+ | |||
+ | |||
+ | if __name__ == " | ||
+ | print(" | ||
+ | parser = argparse.ArgumentParser() | ||
+ | parser.add_argument(" | ||
+ | parser.add_argument(" | ||
+ | args = parser.parse_args() | ||
+ | |||
+ | if not args.sma: | ||
+ | print(" | ||
+ | exit(-1) | ||
+ | |||
+ | #global sma_host | ||
+ | | ||
+ | sma_host = args.sma | ||
+ | print(" | ||
+ | |||
+ | if args.out: | ||
+ | out_put_file = args.out | ||
+ | print(" | ||
+ | else: | ||
+ | print(" | ||
+ | | ||
+ | |||
+ | main() | ||
+ | |||
+ | </ | ||
+ | |||
+ | |||
+ | vzlogger.conf file meter: | ||
+ | |||
+ | < | ||
+ | { | ||
+ | " | ||
+ | " | ||
+ | " | ||
+ | " | ||
+ | { | ||
+ | " | ||
+ | " | ||
+ | " | ||
+ | " | ||
+ | " | ||
+ | " | ||
+ | } | ||
+ | ], | ||
+ | " | ||
+ | " | ||
+ | " | ||
+ | } | ||
+ | </ |
hardware/channels/solar_inverters/sma.txt · Zuletzt geändert: 2020/12/18 13:30 von wasserma