pypackage add txpower min, high

Now txpower can be one of min, low, high, max
This commit is contained in:
Jan-Jonas Sämann 2022-05-24 18:34:38 +02:00
parent 88e9de42b8
commit d5252866f8
2 changed files with 8 additions and 4 deletions

View file

@ -8,7 +8,7 @@ ahoy:
nrf:
- ce_pin: 22
cs_pin: 0
txpower: 'low' # default txpower (low,max)
txpower: 'low' # default txpower (min,low,high,max)
mqtt:
disabled: false
@ -32,7 +32,7 @@ ahoy:
inverters:
- name: 'balkon'
serial: 114172220003
txpower: 'low' # txpower per inverter (low,max)
txpower: 'low' # txpower per inverter (min,low,high,max)
mqtt:
send_raw_enabled: false # allow inject debug data via mqtt
topic: 'hoymiles/114172221234' # defaults to 'hoymiles/{serial}'

View file

@ -11,7 +11,7 @@ import re
from datetime import datetime
import json
import crcmod
from RF24 import RF24, RF24_PA_LOW, RF24_PA_MAX, RF24_250KBPS, RF24_CRC_DISABLED, RF24_CRC_8, RF24_CRC_16
from RF24 import RF24, RF24_PA_MIN, RF24_PA_LOW, RF24_PA_HIGH, RF24_PA_MAX, RF24_250KBPS, RF24_CRC_DISABLED, RF24_CRC_8, RF24_CRC_16
from .decoders import *
f_crc_m = crcmod.predefined.mkPredefinedCrcFun('modbus')
@ -319,8 +319,12 @@ class HoymilesNRF:
self.radio.setCRCLength(RF24_CRC_16)
self.radio.enableDynamicPayloads()
if txpower == 'low':
if txpower == 'min':
self.radio.setPALevel(RF24_PA_MIN)
elif txpower == 'low':
self.radio.setPALevel(RF24_PA_LOW)
if txpower == 'high':
self.radio.setPALevel(RF24_PA_HIGH)
else:
self.radio.setPALevel(RF24_PA_MAX)