NEWS
Adapter: SMA SEMP
-
Das kommt nicht im Portal?
o.g. Problem mit Docker ist nicht dein Problem, da der SHM bereits dein iobroker-Semp-Gateway kennt und nach Geräten fragt. Die Antwort sieht eigentlich auch nicht verkehrt aus... -
@rene_hm Leider nicht.
Wo würde ich denn den Hinweis finden, wenn die Nummer des Gerätes schon vergeben wäre? Kann es daran liegen?
Ich bin etwas ratlos.
-
@wildfire0815 ändere doch einfach die Nummer nach dem "F-".
Außerdem könntest du noch das log vom SHM selbst anschauen.
- Kopieren des "SMA Connection Assist" von https://github.com/rg-engineering/ioBroker.semp/tree/master/docu/SMA/connection-assist.jar auf den Windows-PC und irgendwohin speichern
- dann eine Eingabe -Aufforderung öffnen, in das Verzeichnis wechseln, wo die jar-Datei gespeichert wurde und
connection-assist.jar -discoverHoman
aufrufen.
- das öffnet ein Browser-Fenster
- die SMA Geräte werden gesucht
- den SHM auswählen und verbinden
- als Passwort den RID eingeben (SHM2)
- Systemstatus speichern
- als smasl Datei speichern und nach zip umbenenennen (Achtung! Pfad merken, wohin gespeichert wurde)
- in der zip ist dann ein SEMPLog.tgz
- das SEMPLog.tgz entpacken
- dort sind dann 5 logs der letzten 5 Stunden
Vielleicht finden wir ja da einen Hinweis.
-
@rene_hm said in Adapter: SMA SEMP:
connection-assist.jar -discoverHoman
Das hat geholfen. Danke für Deine Mühe.
Der vorgeschlagene Wert für die Basis ID hatte bei mir nur 7 Zeichen. Das hatte ich nicht übrüft.
In dem LOG kam dann die Meldung "Invalid ID". -
@wildfire0815 sagte in Adapter: SMA SEMP:
Basis ID hatte bei mir nur 7 Zeichen
das habe ich auch übersehen, sorry.
-
Hallo,
ich habe die aktuelle Version des Adapters auf meinem iobroker. V 0.3.1
Nach der Erstellung der Instanz läuft diese wie gewünscht. Grün.
Nachdem ich auch nur ein Device erstellt habe, ist das leider nicht mehr der Fall. Folgende Meldung im Log:
Habe den Adapter auch schon deinstalliert/installiert, löst das Problem aber nicht.
Grüße,
Thomas
-
-
@webwanze Die Fehlermeldung sagt, dass auf einen Datenpunkt, den der Adapter eigentlich anlegt, nicht zugegriffen werden kann...
Zeige mal den Datenbaum für dein neues Device. Der sollte irgendwie so aussehen:
Bei dir fehlt wohl der State...
Wie heisst dein device? sind da evtl. Leerzeichen drin? -
@rene_hm
Datenpunkt passt. Mit State usw.
Leerzeichen gibt es auch nicht.
Auch wenn ich auf 'Schätzung' stelle, kommt der Fehler. Also ohne jeglichen Datenpunkte.Nochmal zum Reproduzieren:
Ausgangssituation:- Adapter installiert und Basiseinstellungen (IP, Port, ...) OK.
- Kein Device konfiguriert
-> Läuft!
Hinzufügen eines Devices:
- '+' klicken
- ID: F-00...-00...1-00 lassen
- Name: newDevice0 lassen
- Speichern
-> Läuft nicht mehr.
Zurück zur Konfiguration des Devices:
- Hersteller=ACME/Seriennummer=1234/Gerätetyp=Heizung/Mindestleistung=0;max. Leistung 1000; Unterbrechung erlaubt=Nein
- Zähler=Schätzung
- Schalter=Immer an; Gerät kann ein/ausgeschaltet werden=Nein
- Energieanforderungen aktiv = Nein
-> Läuft nicht
Habe auch versucht, alle möglichen Datenpunkte im Device zu setzen, falls der Adapter dort Daten holen will, auch wenn die Funktionalität eigentlich deaktiviert ist. Egal was ich einstelle, es funktioniert nicht. Sobald ich das gesamte Device deaktiviere (Checkbox) läuft der Adapter wieder.
Nachtrag:
In den Objekten werden wie bei deinem Screenshot alle Datenpunkte angezeigt:
Changed = null
Energy = 0 Wh
RecommendedState = null
State = null -
@webwanze sagte in Adapter: SMA SEMP:
State = null
und da sehen wir das Problem. Der Adapter versucht "waiting" dorthin zu schreiben, null sollte da nicht stehen...
Kopiere mal den kompletten Namen dieses Datenpunktes und poste ihn hier oder mache einen screen shot wie ich ihn gezeigt habe.
-
Muss bei mir da auch 'waiting' stehen?
Ich will ja nicht über semp steuern lassen. Also wartet bei mir auch nix - zumindest nicht auf den HM2. -
@webwanze ja, da wird auch "waiting" stehen, weil das der Standard-Zustand ist.
Ich sehe den Absturz auch im sentry (36 mal heute, 28 mal gestern, aber nur bei dir) , kann es mir aber noch nicht erklären.
Ich habe mal eine kleine Änderung eingebaut und auf github hochgeladen. Kannst du den Adapter von https://github.com/rg-engineering/ioBroker.semp installieren und debug-loglevel einschalten? Vielleicht sehen wir dann etwas mehr im log... -
2023-03-10 20:56:58.669 - info: host.ioBroker "system.adapter.semp.0" enabled 2023-03-10 20:56:58.704 - info: host.ioBroker instance system.adapter.semp.0 started with pid 52584 2023-03-10 20:56:59.337 - debug: semp.0 (52584) Redis Objects: Use Redis connection: 127.0.0.1:9001 2023-03-10 20:56:59.359 - debug: semp.0 (52584) Objects client ready ... initialize now 2023-03-10 20:56:59.360 - debug: semp.0 (52584) Objects create System PubSub Client 2023-03-10 20:56:59.361 - debug: semp.0 (52584) Objects create User PubSub Client 2023-03-10 20:56:59.375 - debug: semp.0 (52584) Objects client initialize lua scripts 2023-03-10 20:56:59.379 - debug: semp.0 (52584) Objects connected to redis: 127.0.0.1:9001 2023-03-10 20:56:59.390 - debug: semp.0 (52584) Redis States: Use Redis connection: 127.0.0.1:9000 2023-03-10 20:56:59.395 - debug: semp.0 (52584) States create System PubSub Client 2023-03-10 20:56:59.396 - debug: semp.0 (52584) States create User PubSub Client 2023-03-10 20:56:59.403 - debug: semp.0 (52584) States connected to redis: 127.0.0.1:9000 2023-03-10 20:56:59.428 - debug: semp.0 (52584) Plugin sentry Initialize Plugin (enabled=true) 2023-03-10 20:56:59.609 - info: semp.0 (52584) starting. Version 0.3.1 (non-npm: rg-engineering/ioBroker.semp#dedf941c7e0615cb00f7c78d6024a7b4a006eb1a) in /opt/iobroker/node_modules/iobroker.semp, node: v16.19.0, js-controller: 4.0.24 2023-03-10 20:56:59.627 - debug: semp.0 (52584) SSDPServer created: http://192.168.1.2:9765/description.xml e27c0561-11b3-47b8-a98a-006d408b0dd1 2023-03-10 20:56:59.632 - debug: semp.0 (52584) SEMPServer created 2023-03-10 20:56:59.632 - debug: semp.0 (52584) gateway created... 2023-03-10 20:56:59.635 - debug: semp.0 (52584) SEMP server listening on 9765 2023-03-10 20:56:59.638 - debug: semp.0 (52584) SSDPServer started 2023-03-10 20:56:59.638 - debug: semp.0 (52584) gateway started... 2023-03-10 20:56:59.638 - debug: semp.0 (52584) Started all! 2023-03-10 20:56:59.638 - debug: semp.0 (52584) add device {"IsActive":true,"ID":"F-00000000-000000000001-00","Name":"newDevice0","Vendor":"ACME","Type":"Heater","SerialNr":"1234","MaxPower":"1000","MinPower":"0","InterruptionsAllowed":false,"MinOnTime":"","MaxOnTime":"","MinOffTime":"","MaxOffTime":"","MeasurementMethod":"Measurement","OID_Power":"0_userdata.0.DEVICES.ECENTRALHEATING_P","MeasurementUnit":"W","BatteryCapacity":"","WallboxHas3phaseEnabler":false,"StatusDetection":"AlwaysOn","StatusDetectionLimit":0,"StatusDetectionLimitTimeOn":0,"StatusDetectionLimitTimeOff":0,"StatusDetectionMinRunTime":0,"OID_Status":"","HasOIDSwitch":false,"OID_Switch":"","SwitchOffAtEndOfTimer":false,"TimerActive":false,"TimerCancelIfNotOn":false,"TimerCancelIfNotOnTime":0,"EnergyRequestPeriods":[{"ID":"1","Days":"","EarliestStartTime":"","LatestEndTime":"","MinRunTime":"","MaxRunTime":""}],"WallboxOIDs":[{"active":true,"must":"obligatorisch","Name":"DeviceOIDPlugConnected","OID":"","Type":"Boolean","SetValue":"true"},{"active":false,"must":"optional","Name":"DeviceOIDIsCharging","OID":"","Type":"Boolean","SetValue":"true"},{"active":false,"must":"optional","Name":"DeviceOIDIsError","OID":"","Type":"Boolean","SetValue":"true"},{"active":true,"must":"obligatorisch","Name":"DeviceOIDChargePower","OID":"","Type":"Number","SetValue":"0"},{"active":false,"must":"optional","Name":"DeviceOIDStartCharge","OID":"","Type":"Boolean","SetValue":"true"},{"active":false,"must":"optional","Name":"DeviceOIDStopCharge","OID":"","Type":"Boolean","SetValue":"true"}]} 2023-03-10 20:56:59.639 - debug: semp.0 (52584) add device F-00000000-000000000001-00 2023-03-10 20:56:59.640 - debug: semp.0 (52584) can use optional energy: false 2023-03-10 20:56:59.640 - debug: semp.0 (52584) subscribe OID_Power 0_userdata.0.DEVICES.ECENTRALHEATING_P 2023-03-10 20:56:59.642 - info: semp.0 (52584) device created F-00000000-000000000001-00 newDevice0 2023-03-10 20:56:59.643 - debug: semp.0 (52584) set device 2023-03-10 20:56:59.643 - debug: semp.0 (52584) newDevice0 setState On 2023-03-10 20:56:59.644 - debug: semp.0 (52584) UpdateData 2023-03-10 20:56:59.644 - debug: semp.0 (52584) device {"IsActive":true,"ID":"F-00000000-000000000001-00","Name":"newDevice0","Vendor":"ACME","Type":"Heater","SerialNr":"1234","MaxPower":"1000","MinPower":"0","InterruptionsAllowed":false,"MinOnTime":"","MaxOnTime":"","MinOffTime":"","MaxOffTime":"","MeasurementMethod":"Measurement","OID_Power":"0_userdata.0.DEVICES.ECENTRALHEATING_P","MeasurementUnit":"W","BatteryCapacity":"","WallboxHas3phaseEnabler":false,"StatusDetection":"AlwaysOn","StatusDetectionLimit":0,"StatusDetectionLimitTimeOn":0,"StatusDetectionLimitTimeOff":0,"StatusDetectionMinRunTime":0,"OID_Status":"","HasOIDSwitch":false,"OID_Switch":"","SwitchOffAtEndOfTimer":false,"TimerActive":false,"TimerCancelIfNotOn":false,"TimerCancelIfNotOnTime":0,"EnergyRequestPeriods":[{"ID":"1","Days":"","EarliestStartTime":"","LatestEndTime":"","MinRunTime":"","MaxRunTime":""}],"WallboxOIDs":[{"active":true,"must":"obligatorisch","Name":"DeviceOIDPlugConnected","OID":"","Type":"Boolean","SetValue":"true"},{"active":false,"must":"optional","Name":"DeviceOIDIsCharging","OID":"","Type":"Boolean","SetValue":"true"},{"active":false,"must":"optional","Name":"DeviceOIDIsError","OID":"","Type":"Boolean","SetValue":"true"},{"active":true,"must":"obligatorisch","Name":"DeviceOIDChargePower","OID":"","Type":"Number","SetValue":"0"},{"active":false,"must":"optional","Name":"DeviceOIDStartCharge","OID":"","Type":"Boolean","SetValue":"true"},{"active":false,"must":"optional","Name":"DeviceOIDStopCharge","OID":"","Type":"Boolean","SetValue":"true"}],"OptionalEnergy":false} 2023-03-10 20:56:59.644 - debug: semp.0 (52584) result [{"ID":"1","Days":"","EarliestStartTime":"","LatestEndTime":"","MinRunTime":"","MaxRunTime":""}] 2023-03-10 20:56:59.644 - debug: semp.0 (52584) result [{"IsActive":true,"ID":"F-00000000-000000000001-00","Name":"newDevice0","Vendor":"ACME","Type":"Heater","SerialNr":"1234","MaxPower":"1000","MinPower":"0","InterruptionsAllowed":false,"MinOnTime":"","MaxOnTime":"","MinOffTime":"","MaxOffTime":"","MeasurementMethod":"Measurement","OID_Power":"0_userdata.0.DEVICES.ECENTRALHEATING_P","MeasurementUnit":"W","BatteryCapacity":"","WallboxHas3phaseEnabler":false,"StatusDetection":"AlwaysOn","StatusDetectionLimit":0,"StatusDetectionLimitTimeOn":0,"StatusDetectionLimitTimeOff":0,"StatusDetectionMinRunTime":0,"OID_Status":"","HasOIDSwitch":false,"OID_Switch":"","SwitchOffAtEndOfTimer":false,"TimerActive":false,"TimerCancelIfNotOn":false,"TimerCancelIfNotOnTime":0,"EnergyRequestPeriods":[{"ID":"1","Days":"","EarliestStartTime":"","LatestEndTime":"","MinRunTime":"","MaxRunTime":""}],"WallboxOIDs":[{"active":true,"must":"obligatorisch","Name":"DeviceOIDPlugConnected","OID":"","Type":"Boolean","SetValue":"true"},{"active":false,"must":"optional","Name":"DeviceOIDIsCharging","OID":"","Type":"Boolean","SetValue":"true"},{"active":false,"must":"optional","Name":"DeviceOIDIsError","OID":"","Type":"Boolean","SetValue":"true"},{"active":true,"must":"obligatorisch","Name":"DeviceOIDChargePower","OID":"","Type":"Number","SetValue":"0"},{"active":false,"must":"optional","Name":"DeviceOIDStartCharge","OID":"","Type":"Boolean","SetValue":"true"},{"active":false,"must":"optional","Name":"DeviceOIDStopCharge","OID":"","Type":"Boolean","SetValue":"true"}],"OptionalEnergy":false}] 2023-03-10 20:56:59.655 - debug: semp.0 (52584) newDevice0 setLastPower 33 number AlwaysOn W 2023-03-10 20:56:59.658 - debug: semp.0 (52584) newDevice0 got null from Devices.newDevice0.State 2023-03-10 20:56:59.659 - error: semp.0 (52584) Unhandled promise rejection. This error originated either by throwing inside of an async function without a catch block, or by rejecting a promise which was not handled with .catch(). 2023-03-10 20:56:59.659 - error: semp.0 (52584) unhandled promise rejection: Cannot read properties of null (reading 'val') 2023-03-10 20:56:59.663 - error: semp.0 (52584) TypeError: Cannot read properties of null (reading 'val') at Device.SetState (/opt/iobroker/node_modules/iobroker.semp/lib/semp/Device.js:1052:30) 2023-03-10 20:56:59.663 - error: semp.0 (52584) Cannot read properties of null (reading 'val') 2023-03-10 20:56:59.676 - debug: semp.0 (52584) newDevice0 got null from Devices.newDevice0.State 2023-03-10 20:56:59.677 - error: semp.0 (52584) Unhandled promise rejection. This error originated either by throwing inside of an async function without a catch block, or by rejecting a promise which was not handled with .catch(). 2023-03-10 20:56:59.677 - error: semp.0 (52584) unhandled promise rejection: Cannot read properties of null (reading 'val') 2023-03-10 20:56:59.678 - error: semp.0 (52584) TypeError: Cannot read properties of null (reading 'val') at Device.SetState (/opt/iobroker/node_modules/iobroker.semp/lib/semp/Device.js:1052:30) at runNextTicks (node:internal/process/task_queues:61:5) at processImmediate (node:internal/timers:437:9) 2023-03-10 20:56:59.679 - error: semp.0 (52584) Cannot read properties of null (reading 'val') 2023-03-10 20:56:59.683 - debug: semp.0 (52584) delete all devices 2023-03-10 20:56:59.683 - debug: semp.0 (52584) SEMP server stopped 2023-03-10 20:56:59.684 - info: semp.0 (52584) terminating 2023-03-10 20:56:59.685 - debug: semp.0 (52584) Plugin sentry destroyed 2023-03-10 20:56:59.685 - warn: semp.0 (52584) Terminated (UNCAUGHT_EXCEPTION): Without reason 2023-03-10 20:56:59.689 - debug: semp.0 (52584) SSDPServer stopped 2023-03-10 20:56:59.689 - debug: semp.0 (52584) gateway stopped... 2023-03-10 20:57:00.225 - error: host.ioBroker Caught by controller[0]: This error originated either by throwing inside of an async function without a catch block, or by rejecting a promise which was not handled with .catch(). The promise rejected with the reason: 2023-03-10 20:57:00.226 - error: host.ioBroker Caught by controller[1]: TypeError: Cannot read properties of null (reading 'val') 2023-03-10 20:57:00.226 - error: host.ioBroker Caught by controller[1]: at Device.SetState (/opt/iobroker/node_modules/iobroker.semp/lib/semp/Device.js:1052:30) 2023-03-10 20:57:00.226 - error: host.ioBroker Caught by controller[2]: This error originated either by throwing inside of an async function without a catch block, or by rejecting a promise which was not handled with .catch(). The promise rejected with the reason: 2023-03-10 20:57:00.226 - error: host.ioBroker Caught by controller[2]: TypeError: Cannot read properties of null (reading 'val') 2023-03-10 20:57:00.226 - error: host.ioBroker Caught by controller[2]: at Device.SetState (/opt/iobroker/node_modules/iobroker.semp/lib/semp/Device.js:1052:30) 2023-03-10 20:57:00.226 - error: host.ioBroker Caught by controller[2]: at runNextTicks (node:internal/process/task_queues:61:5) 2023-03-10 20:57:00.226 - error: host.ioBroker Caught by controller[2]: at processImmediate (node:internal/timers:437:9) 2023-03-10 20:57:00.226 - error: host.ioBroker instance system.adapter.semp.0 terminated with code 6 (UNCAUGHT_EXCEPTION) 2023-03-10 20:57:00.226 - info: host.ioBroker Restart adapter system.adapter.semp.0 because enabled 2023-03-10 20:57:30.259 - info: host.ioBroker instance system.adapter.semp.0 started with pid 52599 2023-03-10 20:57:30.854 - debug: semp.0 (52599) Redis Objects: Use Redis connection: 127.0.0.1:9001 2023-03-10 20:57:30.877 - debug: semp.0 (52599) Objects client ready ... initialize now 2023-03-10 20:57:30.878 - debug: semp.0 (52599) Objects create System PubSub Client 2023-03-10 20:57:30.879 - debug: semp.0 (52599) Objects create User PubSub Client 2023-03-10 20:57:30.895 - debug: semp.0 (52599) Objects client initialize lua scripts 2023-03-10 20:57:30.898 - debug: semp.0 (52599) Objects connected to redis: 127.0.0.1:9001 2023-03-10 20:57:30.911 - debug: semp.0 (52599) Redis States: Use Redis connection: 127.0.0.1:9000 2023-03-10 20:57:30.916 - debug: semp.0 (52599) States create System PubSub Client 2023-03-10 20:57:30.917 - debug: semp.0 (52599) States create User PubSub Client 2023-03-10 20:57:30.925 - debug: semp.0 (52599) States connected to redis: 127.0.0.1:9000 2023-03-10 20:57:30.948 - debug: semp.0 (52599) Plugin sentry Initialize Plugin (enabled=true) 2023-03-10 20:57:31.103 - info: semp.0 (52599) starting. Version 0.3.1 (non-npm: rg-engineering/ioBroker.semp#dedf941c7e0615cb00f7c78d6024a7b4a006eb1a) in /opt/iobroker/node_modules/iobroker.semp, node: v16.19.0, js-controller: 4.0.24 2023-03-10 20:57:31.121 - debug: semp.0 (52599) SSDPServer created: http://192.168.1.2:9765/description.xml e27c0561-11b3-47b8-a98a-006d408b0dd1 2023-03-10 20:57:31.125 - debug: semp.0 (52599) SEMPServer created 2023-03-10 20:57:31.126 - debug: semp.0 (52599) gateway created... 2023-03-10 20:57:31.129 - debug: semp.0 (52599) SEMP server listening on 9765 2023-03-10 20:57:31.132 - debug: semp.0 (52599) SSDPServer started 2023-03-10 20:57:31.132 - debug: semp.0 (52599) gateway started... 2023-03-10 20:57:31.132 - debug: semp.0 (52599) Started all! 2023-03-10 20:57:31.132 - debug: semp.0 (52599) add device {"IsActive":true,"ID":"F-00000000-000000000001-00","Name":"newDevice0","Vendor":"ACME","Type":"Heater","SerialNr":"1234","MaxPower":"1000","MinPower":"0","InterruptionsAllowed":false,"MinOnTime":"","MaxOnTime":"","MinOffTime":"","MaxOffTime":"","MeasurementMethod":"Measurement","OID_Power":"0_userdata.0.DEVICES.ECENTRALHEATING_P","MeasurementUnit":"W","BatteryCapacity":"","WallboxHas3phaseEnabler":false,"StatusDetection":"AlwaysOn","StatusDetectionLimit":0,"StatusDetectionLimitTimeOn":0,"StatusDetectionLimitTimeOff":0,"StatusDetectionMinRunTime":0,"OID_Status":"","HasOIDSwitch":false,"OID_Switch":"","SwitchOffAtEndOfTimer":false,"TimerActive":false,"TimerCancelIfNotOn":false,"TimerCancelIfNotOnTime":0,"EnergyRequestPeriods":[{"ID":"1","Days":"","EarliestStartTime":"","LatestEndTime":"","MinRunTime":"","MaxRunTime":""}],"WallboxOIDs":[{"active":true,"must":"obligatorisch","Name":"DeviceOIDPlugConnected","OID":"","Type":"Boolean","SetValue":"true"},{"active":false,"must":"optional","Name":"DeviceOIDIsCharging","OID":"","Type":"Boolean","SetValue":"true"},{"active":false,"must":"optional","Name":"DeviceOIDIsError","OID":"","Type":"Boolean","SetValue":"true"},{"active":true,"must":"obligatorisch","Name":"DeviceOIDChargePower","OID":"","Type":"Number","SetValue":"0"},{"active":false,"must":"optional","Name":"DeviceOIDStartCharge","OID":"","Type":"Boolean","SetValue":"true"},{"active":false,"must":"optional","Name":"DeviceOIDStopCharge","OID":"","Type":"Boolean","SetValue":"true"}]} 2023-03-10 20:57:31.133 - debug: semp.0 (52599) add device F-00000000-000000000001-00 2023-03-10 20:57:31.134 - debug: semp.0 (52599) can use optional energy: false 2023-03-10 20:57:31.134 - debug: semp.0 (52599) subscribe OID_Power 0_userdata.0.DEVICES.ECENTRALHEATING_P 2023-03-10 20:57:31.136 - info: semp.0 (52599) device created F-00000000-000000000001-00 newDevice0 2023-03-10 20:57:31.137 - debug: semp.0 (52599) set device 2023-03-10 20:57:31.137 - debug: semp.0 (52599) newDevice0 setState On 2023-03-10 20:57:31.137 - debug: semp.0 (52599) UpdateData 2023-03-10 20:57:31.138 - debug: semp.0 (52599) device {"IsActive":true,"ID":"F-00000000-000000000001-00","Name":"newDevice0","Vendor":"ACME","Type":"Heater","SerialNr":"1234","MaxPower":"1000","MinPower":"0","InterruptionsAllowed":false,"MinOnTime":"","MaxOnTime":"","MinOffTime":"","MaxOffTime":"","MeasurementMethod":"Measurement","OID_Power":"0_userdata.0.DEVICES.ECENTRALHEATING_P","MeasurementUnit":"W","BatteryCapacity":"","WallboxHas3phaseEnabler":false,"StatusDetection":"AlwaysOn","StatusDetectionLimit":0,"StatusDetectionLimitTimeOn":0,"StatusDetectionLimitTimeOff":0,"StatusDetectionMinRunTime":0,"OID_Status":"","HasOIDSwitch":false,"OID_Switch":"","SwitchOffAtEndOfTimer":false,"TimerActive":false,"TimerCancelIfNotOn":false,"TimerCancelIfNotOnTime":0,"EnergyRequestPeriods":[{"ID":"1","Days":"","EarliestStartTime":"","LatestEndTime":"","MinRunTime":"","MaxRunTime":""}],"WallboxOIDs":[{"active":true,"must":"obligatorisch","Name":"DeviceOIDPlugConnected","OID":"","Type":"Boolean","SetValue":"true"},{"active":false,"must":"optional","Name":"DeviceOIDIsCharging","OID":"","Type":"Boolean","SetValue":"true"},{"active":false,"must":"optional","Name":"DeviceOIDIsError","OID":"","Type":"Boolean","SetValue":"true"},{"active":true,"must":"obligatorisch","Name":"DeviceOIDChargePower","OID":"","Type":"Number","SetValue":"0"},{"active":false,"must":"optional","Name":"DeviceOIDStartCharge","OID":"","Type":"Boolean","SetValue":"true"},{"active":false,"must":"optional","Name":"DeviceOIDStopCharge","OID":"","Type":"Boolean","SetValue":"true"}],"OptionalEnergy":false} 2023-03-10 20:57:31.138 - debug: semp.0 (52599) result [{"ID":"1","Days":"","EarliestStartTime":"","LatestEndTime":"","MinRunTime":"","MaxRunTime":""}] 2023-03-10 20:57:31.138 - debug: semp.0 (52599) result [{"IsActive":true,"ID":"F-00000000-000000000001-00","Name":"newDevice0","Vendor":"ACME","Type":"Heater","SerialNr":"1234","MaxPower":"1000","MinPower":"0","InterruptionsAllowed":false,"MinOnTime":"","MaxOnTime":"","MinOffTime":"","MaxOffTime":"","MeasurementMethod":"Measurement","OID_Power":"0_userdata.0.DEVICES.ECENTRALHEATING_P","MeasurementUnit":"W","BatteryCapacity":"","WallboxHas3phaseEnabler":false,"StatusDetection":"AlwaysOn","StatusDetectionLimit":0,"StatusDetectionLimitTimeOn":0,"StatusDetectionLimitTimeOff":0,"StatusDetectionMinRunTime":0,"OID_Status":"","HasOIDSwitch":false,"OID_Switch":"","SwitchOffAtEndOfTimer":false,"TimerActive":false,"TimerCancelIfNotOn":false,"TimerCancelIfNotOnTime":0,"EnergyRequestPeriods":[{"ID":"1","Days":"","EarliestStartTime":"","LatestEndTime":"","MinRunTime":"","MaxRunTime":""}],"WallboxOIDs":[{"active":true,"must":"obligatorisch","Name":"DeviceOIDPlugConnected","OID":"","Type":"Boolean","SetValue":"true"},{"active":false,"must":"optional","Name":"DeviceOIDIsCharging","OID":"","Type":"Boolean","SetValue":"true"},{"active":false,"must":"optional","Name":"DeviceOIDIsError","OID":"","Type":"Boolean","SetValue":"true"},{"active":true,"must":"obligatorisch","Name":"DeviceOIDChargePower","OID":"","Type":"Number","SetValue":"0"},{"active":false,"must":"optional","Name":"DeviceOIDStartCharge","OID":"","Type":"Boolean","SetValue":"true"},{"active":false,"must":"optional","Name":"DeviceOIDStopCharge","OID":"","Type":"Boolean","SetValue":"true"}],"OptionalEnergy":false}] 2023-03-10 20:57:31.148 - debug: semp.0 (52599) newDevice0 setLastPower 33 number AlwaysOn W 2023-03-10 20:57:31.150 - debug: semp.0 (52599) newDevice0 got null from Devices.newDevice0.State 2023-03-10 20:57:31.151 - error: semp.0 (52599) Unhandled promise rejection. This error originated either by throwing inside of an async function without a catch block, or by rejecting a promise which was not handled with .catch(). 2023-03-10 20:57:31.151 - error: semp.0 (52599) unhandled promise rejection: Cannot read properties of null (reading 'val') 2023-03-10 20:57:31.154 - error: semp.0 (52599) TypeError: Cannot read properties of null (reading 'val') at Device.SetState (/opt/iobroker/node_modules/iobroker.semp/lib/semp/Device.js:1052:30) 2023-03-10 20:57:31.154 - error: semp.0 (52599) Cannot read properties of null (reading 'val') 2023-03-10 20:57:31.166 - debug: semp.0 (52599) newDevice0 got null from Devices.newDevice0.State 2023-03-10 20:57:31.166 - error: semp.0 (52599) Unhandled promise rejection. This error originated either by throwing inside of an async function without a catch block, or by rejecting a promise which was not handled with .catch(). 2023-03-10 20:57:31.166 - error: semp.0 (52599) unhandled promise rejection: Cannot read properties of null (reading 'val') 2023-03-10 20:57:31.167 - error: semp.0 (52599) TypeError: Cannot read properties of null (reading 'val') at Device.SetState (/opt/iobroker/node_modules/iobroker.semp/lib/semp/Device.js:1052:30) at runNextTicks (node:internal/process/task_queues:61:5) at processImmediate (node:internal/timers:437:9) 2023-03-10 20:57:31.168 - error: semp.0 (52599) Cannot read properties of null (reading 'val') 2023-03-10 20:57:31.171 - debug: semp.0 (52599) delete all devices 2023-03-10 20:57:31.171 - debug: semp.0 (52599) SEMP server stopped 2023-03-10 20:57:31.172 - info: semp.0 (52599) terminating 2023-03-10 20:57:31.172 - debug: semp.0 (52599) Plugin sentry destroyed 2023-03-10 20:57:31.172 - warn: semp.0 (52599) Terminated (UNCAUGHT_EXCEPTION): Without reason 2023-03-10 20:57:31.175 - debug: semp.0 (52599) SSDPServer stopped 2023-03-10 20:57:31.176 - debug: semp.0 (52599) gateway stopped... 2023-03-10 20:57:31.720 - error: host.ioBroker Caught by controller[0]: This error originated either by throwing inside of an async function without a catch block, or by rejecting a promise which was not handled with .catch(). The promise rejected with the reason: 2023-03-10 20:57:31.720 - error: host.ioBroker Caught by controller[1]: TypeError: Cannot read properties of null (reading 'val') 2023-03-10 20:57:31.720 - error: host.ioBroker Caught by controller[1]: at Device.SetState (/opt/iobroker/node_modules/iobroker.semp/lib/semp/Device.js:1052:30) 2023-03-10 20:57:31.720 - error: host.ioBroker Caught by controller[2]: This error originated either by throwing inside of an async function without a catch block, or by rejecting a promise which was not handled with .catch(). The promise rejected with the reason: 2023-03-10 20:57:31.720 - error: host.ioBroker Caught by controller[2]: TypeError: Cannot read properties of null (reading 'val') 2023-03-10 20:57:31.720 - error: host.ioBroker Caught by controller[2]: at Device.SetState (/opt/iobroker/node_modules/iobroker.semp/lib/semp/Device.js:1052:30) 2023-03-10 20:57:31.720 - error: host.ioBroker Caught by controller[2]: at runNextTicks (node:internal/process/task_queues:61:5) 2023-03-10 20:57:31.720 - error: host.ioBroker Caught by controller[2]: at processImmediate (node:internal/timers:437:9) 2023-03-10 20:57:31.720 - error: host.ioBroker instance system.adapter.semp.0 terminated with code 6 (UNCAUGHT_EXCEPTION) 2023-03-10 20:57:31.721 - info: host.ioBroker Restart adapter system.adapter.semp.0 because enabled
-
@webwanze Das log sieht eigentlich gut aus, trotzdem funktioniert das ganze bei dir nicht.
Ich habe nochmal ein paar logs hinzugefügt. Kannst du bitte nochmal von github (wie oben) installieren? -
Hallo,
die Instanz wird jetzt grün:
2023-03-11 09:55:55.393 - info: host.ioBroker "system.adapter.semp.0" enabled 2023-03-11 09:55:55.426 - info: host.ioBroker instance system.adapter.semp.0 started with pid 53629 2023-03-11 09:55:56.057 - debug: semp.0 (53629) Redis Objects: Use Redis connection: 127.0.0.1:9001 2023-03-11 09:55:56.076 - debug: semp.0 (53629) Objects client ready ... initialize now 2023-03-11 09:55:56.078 - debug: semp.0 (53629) Objects create System PubSub Client 2023-03-11 09:55:56.078 - debug: semp.0 (53629) Objects create User PubSub Client 2023-03-11 09:55:56.099 - debug: semp.0 (53629) Objects client initialize lua scripts 2023-03-11 09:55:56.103 - debug: semp.0 (53629) Objects connected to redis: 127.0.0.1:9001 2023-03-11 09:55:56.114 - debug: semp.0 (53629) Redis States: Use Redis connection: 127.0.0.1:9000 2023-03-11 09:55:56.120 - debug: semp.0 (53629) States create System PubSub Client 2023-03-11 09:55:56.121 - debug: semp.0 (53629) States create User PubSub Client 2023-03-11 09:55:56.128 - debug: semp.0 (53629) States connected to redis: 127.0.0.1:9000 2023-03-11 09:55:56.154 - debug: semp.0 (53629) Plugin sentry Initialize Plugin (enabled=true) 2023-03-11 09:55:56.299 - info: semp.0 (53629) starting. Version 0.3.1 (non-npm: rg-engineering/ioBroker.semp#6225ab9cb4be90b2b25f1f20179f6e884e287309) in /opt/iobroker/node_modules/iobroker.semp, node: v16.19.0, js-controller: 4.0.24 2023-03-11 09:55:56.317 - debug: semp.0 (53629) SSDPServer created: http://192.168.1.2:9765/description.xml ba7895e3-74c6-47ee-a912-e544105b6f50 2023-03-11 09:55:56.322 - debug: semp.0 (53629) SEMPServer created 2023-03-11 09:55:56.322 - debug: semp.0 (53629) gateway created... 2023-03-11 09:55:56.325 - debug: semp.0 (53629) SEMP server listening on 9765 2023-03-11 09:55:56.328 - debug: semp.0 (53629) SSDPServer started 2023-03-11 09:55:56.328 - debug: semp.0 (53629) gateway started... 2023-03-11 09:55:56.328 - debug: semp.0 (53629) Started all! 2023-03-11 09:55:56.328 - debug: semp.0 (53629) add device {"IsActive":true,"ID":"F-0-000000000001-00","Name":"newDevice0","Vendor":"ACME","Type":"Heater","SerialNr":"1234","MaxPower":"1000","MinPower":"0","InterruptionsAllowed":false,"MinOnTime":"","MaxOnTime":"","MinOffTime":"","MaxOffTime":"","MeasurementMethod":"Measurement","OID_Power":"0_userdata.0.DEVICES.ECENTRALHEATING_P","MeasurementUnit":"W","BatteryCapacity":"","WallboxHas3phaseEnabler":false,"StatusDetection":"AlwaysOn","StatusDetectionLimit":0,"StatusDetectionLimitTimeOn":0,"StatusDetectionLimitTimeOff":0,"StatusDetectionMinRunTime":0,"OID_Status":"","HasOIDSwitch":false,"OID_Switch":"","SwitchOffAtEndOfTimer":false,"TimerActive":false,"TimerCancelIfNotOn":false,"TimerCancelIfNotOnTime":0,"EnergyRequestPeriods":[{"ID":"1","Days":"","EarliestStartTime":"","LatestEndTime":"","MinRunTime":"","MaxRunTime":""}],"WallboxOIDs":[{"active":true,"must":"obligatorisch","Name":"DeviceOIDPlugConnected","OID":"","Type":"Boolean","SetValue":"true"},{"active":false,"must":"optional","Name":"DeviceOIDIsCharging","OID":"","Type":"Boolean","SetValue":"true"},{"active":false,"must":"optional","Name":"DeviceOIDIsError","OID":"","Type":"Boolean","SetValue":"true"},{"active":true,"must":"obligatorisch","Name":"DeviceOIDChargePower","OID":"","Type":"Number","SetValue":"0"},{"active":false,"must":"optional","Name":"DeviceOIDStartCharge","OID":"","Type":"Boolean","SetValue":"true"},{"active":false,"must":"optional","Name":"DeviceOIDStopCharge","OID":"","Type":"Boolean","SetValue":"true"}]} 2023-03-11 09:55:56.329 - debug: semp.0 (53629) add device F-0-000000000001-00 2023-03-11 09:55:56.330 - error: semp.0 (53629) newDevice0 wrong device id F-0-000000000001-00! must follow F-xxxxxxxx-yyyyyyyyyyyy-zz 2023-03-11 09:55:56.330 - debug: semp.0 (53629) can use optional energy: false 2023-03-11 09:55:56.330 - debug: semp.0 (53629) subscribe OID_Power 0_userdata.0.DEVICES.ECENTRALHEATING_P 2023-03-11 09:55:56.332 - info: semp.0 (53629) device created F-0-000000000001-00 newDevice0 2023-03-11 09:55:56.333 - debug: semp.0 (53629) set device 2023-03-11 09:55:56.333 - debug: semp.0 (53629) newDevice0 setState On 2023-03-11 09:55:56.334 - debug: semp.0 (53629) UpdateData 2023-03-11 09:55:56.334 - debug: semp.0 (53629) device {"IsActive":true,"ID":"F-0-000000000001-00","Name":"newDevice0","Vendor":"ACME","Type":"Heater","SerialNr":"1234","MaxPower":"1000","MinPower":"0","InterruptionsAllowed":false,"MinOnTime":"","MaxOnTime":"","MinOffTime":"","MaxOffTime":"","MeasurementMethod":"Measurement","OID_Power":"0_userdata.0.DEVICES.ECENTRALHEATING_P","MeasurementUnit":"W","BatteryCapacity":"","WallboxHas3phaseEnabler":false,"StatusDetection":"AlwaysOn","StatusDetectionLimit":0,"StatusDetectionLimitTimeOn":0,"StatusDetectionLimitTimeOff":0,"StatusDetectionMinRunTime":0,"OID_Status":"","HasOIDSwitch":false,"OID_Switch":"","SwitchOffAtEndOfTimer":false,"TimerActive":false,"TimerCancelIfNotOn":false,"TimerCancelIfNotOnTime":0,"EnergyRequestPeriods":[{"ID":"1","Days":"","EarliestStartTime":"","LatestEndTime":"","MinRunTime":"","MaxRunTime":""}],"WallboxOIDs":[{"active":true,"must":"obligatorisch","Name":"DeviceOIDPlugConnected","OID":"","Type":"Boolean","SetValue":"true"},{"active":false,"must":"optional","Name":"DeviceOIDIsCharging","OID":"","Type":"Boolean","SetValue":"true"},{"active":false,"must":"optional","Name":"DeviceOIDIsError","OID":"","Type":"Boolean","SetValue":"true"},{"active":true,"must":"obligatorisch","Name":"DeviceOIDChargePower","OID":"","Type":"Number","SetValue":"0"},{"active":false,"must":"optional","Name":"DeviceOIDStartCharge","OID":"","Type":"Boolean","SetValue":"true"},{"active":false,"must":"optional","Name":"DeviceOIDStopCharge","OID":"","Type":"Boolean","SetValue":"true"}],"OptionalEnergy":false} 2023-03-11 09:55:56.334 - debug: semp.0 (53629) result [{"ID":"1","Days":"","EarliestStartTime":"","LatestEndTime":"","MinRunTime":"","MaxRunTime":""}] 2023-03-11 09:55:56.334 - debug: semp.0 (53629) result [{"IsActive":true,"ID":"F-0-000000000001-00","Name":"newDevice0","Vendor":"ACME","Type":"Heater","SerialNr":"1234","MaxPower":"1000","MinPower":"0","InterruptionsAllowed":false,"MinOnTime":"","MaxOnTime":"","MinOffTime":"","MaxOffTime":"","MeasurementMethod":"Measurement","OID_Power":"0_userdata.0.DEVICES.ECENTRALHEATING_P","MeasurementUnit":"W","BatteryCapacity":"","WallboxHas3phaseEnabler":false,"StatusDetection":"AlwaysOn","StatusDetectionLimit":0,"StatusDetectionLimitTimeOn":0,"StatusDetectionLimitTimeOff":0,"StatusDetectionMinRunTime":0,"OID_Status":"","HasOIDSwitch":false,"OID_Switch":"","SwitchOffAtEndOfTimer":false,"TimerActive":false,"TimerCancelIfNotOn":false,"TimerCancelIfNotOnTime":0,"EnergyRequestPeriods":[{"ID":"1","Days":"","EarliestStartTime":"","LatestEndTime":"","MinRunTime":"","MaxRunTime":""}],"WallboxOIDs":[{"active":true,"must":"obligatorisch","Name":"DeviceOIDPlugConnected","OID":"","Type":"Boolean","SetValue":"true"},{"active":false,"must":"optional","Name":"DeviceOIDIsCharging","OID":"","Type":"Boolean","SetValue":"true"},{"active":false,"must":"optional","Name":"DeviceOIDIsError","OID":"","Type":"Boolean","SetValue":"true"},{"active":true,"must":"obligatorisch","Name":"DeviceOIDChargePower","OID":"","Type":"Number","SetValue":"0"},{"active":false,"must":"optional","Name":"DeviceOIDStartCharge","OID":"","Type":"Boolean","SetValue":"true"},{"active":false,"must":"optional","Name":"DeviceOIDStopCharge","OID":"","Type":"Boolean","SetValue":"true"}],"OptionalEnergy":false}] 2023-03-11 09:55:56.348 - debug: semp.0 (53629) newDevice0 setLastPower 117 number AlwaysOn W 2023-03-11 09:55:56.350 - debug: semp.0 (53629) newDevice0 got null from Devices.newDevice0.State 2023-03-11 09:55:56.351 - error: semp.0 (53629) newDevice0 could not set state waiting on Devices.newDevice0.State 2023-03-11 09:55:56.354 - debug: semp.0 (53629) newDevice0 got null from Devices.newDevice0.State 2023-03-11 09:55:56.355 - error: semp.0 (53629) newDevice0 could not set state on on Devices.newDevice0.State 2023-03-11 09:55:56.357 - debug: semp.0 (53629) newDevice0 got object {"type":"state","common":{"name":"recommended state from SHM","type":"boolean","role":"state","read":true,"write":false},"from":"system.adapter.semp.0","user":"system.user.admin","ts":1678524926725,"_id":"semp.0.Devices.newDevice0.RecommendedState","acl":{"object":1636,"state":1636,"owner":"system.user.admin","ownerGroup":"system.group.administrator"}} 2023-03-11 09:55:56.381 - debug: semp.0 (53629) newDevice0 got object {"type":"state","common":{"name":"last time recommendation changed","type":"string","role":"value.time","read":true,"write":false},"from":"system.adapter.semp.0","user":"system.user.admin","ts":1678524926734,"_id":"semp.0.Devices.newDevice0.Changed","acl":{"object":1636,"state":1636,"owner":"system.user.admin","ownerGroup":"system.group.administrator"}} 2023-03-11 09:55:56.385 - debug: semp.0 (53629) newDevice0 got object {"type":"state","common":{"name":"current State","type":"string","role":"state","read":true,"write":false},"from":"system.adapter.semp.0","user":"system.user.admin","ts":1678524926738,"_id":"semp.0.Devices.newDevice0.State","acl":{"object":1636,"state":1636,"owner":"system.user.admin","ownerGroup":"system.group.administrator"}} 2023-03-11 09:55:56.386 - debug: semp.0 (53629) newDevice0 got object {"type":"state","common":{"name":"Energy used","type":"number","unit":"Wh","role":"value","read":true,"write":false},"from":"system.adapter.semp.0","user":"system.user.admin","ts":1678524926744,"_id":"semp.0.Devices.newDevice0.Energy","acl":{"object":1636,"state":1636,"owner":"system.user.admin","ownerGroup":"system.group.administrator"}} 2023-03-11 09:55:59.376 - debug: semp.0 (53629) SHM requested description 2023-03-11 09:55:59.377 - info: semp.0 (53629) adapter discovered by SHM 2023-03-11 09:56:00.033 - debug: semp.0 (53629) newDevice0 setLastPower 117 number AlwaysOn W 2023-03-11 09:56:00.033 - debug: semp.0 (53629) newDevice0 calc energy 117 1678524956349 = 0.11973000000000002Wh 2023-03-11 09:56:15.007 - debug: semp.0 (53629) newDevice0 setLastPower 117 number AlwaysOn W 2023-03-11 09:56:15.008 - debug: semp.0 (53629) newDevice0 calc energy 117 1678524960033 = 0.6064175Wh 2023-03-11 09:56:16.376 - debug: semp.0 (53629) SHM requested description 2023-03-11 09:56:30.009 - debug: semp.0 (53629) newDevice0 setLastPower 117 number AlwaysOn W 2023-03-11 09:56:30.009 - debug: semp.0 (53629) newDevice0 calc energy 117 1678524975008 = 1.09395Wh 2023-03-11 09:56:36.377 - debug: semp.0 (53629) SHM requested description 2023-03-11 09:56:45.007 - debug: semp.0 (53629) newDevice0 setLastPower 122 number AlwaysOn W 2023-03-11 09:56:45.007 - debug: semp.0 (53629) newDevice0 calc energy 122 1678524990009 = 1.6022155555555555Wh
Bei den Objekten finden sich immer noch die (null)s.
Danke für deine Unterstützung!!!
-
@webwanze sagte in Adapter: SMA SEMP:
error: semp.0 (53629) newDevice0 could not set state waiting on Devices.newDevice0.State
Der Fehler ist noch nicht behoben, nur ignoriert. Ich schaue das log nochmal genauer an. Irgendetwas passt noch nicht...
newDevice0 wrong device id F-0-000000000001-00! must follow F-xxxxxxxx-yyyyyyyyyyyy-zz
und den Fehler darfst du auch nicht ignorieren...
-
@rene_hm sagte in Adapter: SMA SEMP:
newDevice0 wrong device id F-0-000000000001-00! must follow F-xxxxxxxx-yyyyyyyyyyyy-zz
und den Fehler darfst du auch nicht ignorieren...
Ich habe da nichts geändert. Die ID wurde beim Hinzufügen des Devices automatisch generiert. Habe es aber jetzt mal geändert. Macht natürlich keinen Unterschied.
Über Java-Script
setState("semp.0.Devices.newDevice0.State", "test")
kann ich den State übrigens ändern. -
@webwanze sagte in Adapter: SMA SEMP:
Macht natürlich keinen Unterschied.
für o.g. Problem macht es keinen Unterschied, funktionell ist das wichtig.
-
@rene_hm
Ich habe noch etwas herumgespielt und auch was herausgefunden:Adapter installieren
Device anlegen
-> kein Update StateHost neu starten
-> kein Update StateState von Hand oder Script ändern
-> Fehler verschwunden, allerdings wird mein String "test" nicht upgedated
-> ich nehme an, weil sich der State für die Instanz nicht geändert hat, erfolgt kein Update. OK.Instanz neu starten
-> Alles i.O.
-> State wird auf "on" gesetzt. -
Wenn ich nun ein weiteres Device hinzufüge, wird der State ebenfalls nicht upgedated.
State von Hand auf z.B. "off" setzen.
Instanz neu startenfunktioniert.
Die Were für "Changed" und "RecommendedState" werden übrigens nicht gesetzt. Evtl. wird das auch nicht von der Instanz versucht ...