Zitat von: DS_Starter am 23 Mai 2025, 22:21:04Der Vorteil des Setzens via attrKeyVal hat den Vorteil, dass die Zeitfenster-Syntax (Anfangszeit kleiner Endezeit usw.) im Hintergrung gecheckt wird und ggf. ein Fehler zurückgegeben wird den der User im Script auswerten kann und damit die Fehlermöglichkeiten minimiert werden.
Um deine Idee aufzugreifen, wäre ein weiterer Schlüssel "lcBool=<Device>:<Reading>" denkbar, welches ein logisches true / false liefern kann, um die Ladung unter Modulkontrolle (1) bzw. ohne Modulkontrolle, d.h. mit voller Leistung (0) zu realisieren.
Die Verwendung von lcSlot und lcBool kann ich durch Prüfung gegeneinander ausschließen, d.h. der User kann nur eine der Varianten gleichzeitig setzen.
Das "lc" steht in diesen Schlüssel für "load control".
Zitat"wäre es nicht besser das durch ein 'true'-'false' (als Reading) ggfls optional gefolgt von einem Zeitfenster (z.B.: true:10:53) zu steuern?" dann wäre einfach auch eine Reihenfolge in der Batterieladung (wenn mehr als eine Bat. vorhanden ist) realisierbar?Ob das besser wäre kommt ein bisschen darauf an welche Ziele man verfolgt. Ein bisschen weiter vorn war ein Nutzer der täglich bis zu einer bestimmten Zeit soviel in die Bat laden wollte wie es geht, danach sollte die Ladekontrolle greifen.
set ... attrKeyVal ctrlBatSocManagement01 lcSlot=23:00-23:10
set ... attrKeyVal ctrlBatSocManagement02 lcSlot=00:00-23:59
set ... attrKeyVal ctrlBatSocManagement03 lcSlot=00:00-23:59
set ... attrKeyVal ctrlBatSocManagement01 lcSlot=00:00-23:59
set ... attrKeyVal ctrlBatSocManagement02 lcSlot=23:00-23:10
set ... attrKeyVal ctrlBatSocManagement03 lcSlot=00:00-23:59
set ... attrKeyVal ctrlBatSocManagement01 lcSlot=00:00-23:59
set ... attrKeyVal ctrlBatSocManagement02 lcSlot=00:00-23:59
set ... attrKeyVal ctrlBatSocManagement03 lcSlot=23:00-23:10
Zitat von: plin am 20 Mai 2025, 14:47:15mmh, und wie kommt der individuelle Google API key in den code?Mit dem Texteditor deiner Wahl.
p2b91 = {"event":"up","val":8}
Fan_Speed:topic=hasp/plate_3/state/p2b91 Fan_Speed:expression={"val"=>$value}
[2025-05-23T17:29:16.922Z] {"username":"+++","password":"***","country":"DE","loginStore":"auth.data","pollInterval":60,"mqttUrl":"mqtt://localhost:1883","mqttClientId":"solix2mqtt","mqttRetain":false,"mqttTopic":"solix","verbose":true}
[2025-05-23T17:29:16.939Z] Fetching data
[2025-05-23T17:29:16.973Z] Using cached auth data
[2025-05-23T17:29:16.974Z] ++++
[2025-05-23T17:29:16.979Z] {}
[2025-05-23T17:29:17.644Z] Failed fetching or publishing printer data AggregateError [ECONNREFUSED]:
at internalConnectMultiple (node:net:1139:18)
at afterConnectMultiple (node:net:1714:7) {
code: 'ECONNREFUSED',
[errors]: [
Error: connect ECONNREFUSED ::1:1883
at createConnectionError (node:net:1677:14)
at afterConnectMultiple (node:net:1707:16) {
errno: -111,
code: 'ECONNREFUSED',
syscall: 'connect',
address: '::1',
port: 1883
},
Error: connect ECONNREFUSED 127.0.0.1:1883
at createConnectionError (node:net:1677:14)
at afterConnectMultiple (node:net:1707:16) {
errno: -111,
code: 'ECONNREFUSED',
syscall: 'connect',
address: '127.0.0.1',
port: 1883
}
]
}
[2025-05-23T17:29:17.662Z] Sleeping for 59276ms...
Die Zeile "Error: connect ECONNREFUSED ::1:1883" sieht für mich merkwürdig aus.