rg-engineering / iobroker.semp Goto Github PK
View Code? Open in Web Editor NEWioBroker interface to SMA SunnyPortal via SEMP
License: MIT License
ioBroker interface to SMA SunnyPortal via SEMP
License: MIT License
Hallo,
im SMA werden die Verbraucher trotz der Einstellung unter Schalter "immer an" und deaktivierter Schaltfunktion im SMA mit dem Typ "direkte Kommunikation" angelegt. Diese klappt im Zusammenspiel mit SMA prima. Aber leider führt es dann zu der Limitation von 12 Geräten im SMA. Für die Verbraucher, die nur den Stromverbrauch messen, ist eigentlich der Typ "Energiemonitoring" seitens SMA vorgesehen.
Wäre es nicht denkbar, bei den Geräten die nicht geschaltet werden sollen den Typ "Energiemonitoring" mitzugeben, um mehr Geräte zu monitoren?
Oder mache noch was falsch bei den Einstellungen?
VG
Version: stable=1.0.0 (81 days old) => latest=1.3.2 (15 days old)
Installs: stable=344 (63.82%), latest=43 (7.98%), total=539
Click to edit
Dear all
I feel there is a turn-off functionality missing, that kicks in, in case the SEMP device does not turn on after the SEMP adapter turns on.
Use Case SG-Ready heatpump
SEMP Switch in SHM 2.0 is turned off in the beginning
SHM plans time-window for the heatpump according the PV surplus projection
SHM turns on the SEMP switch through the adapter.
The SEMP switch triggers the SG Ready Input in the heatpump
In my opinion, this functionality is very important as the the is only a limited amount of sun hours in the day, especially in winter times. These should be used to the maximum - especially if a device does not turn on and thereby unnecessarily blocks other devices from starting. I guess this would be also true for wallboxes, where a car might run to 80% charge limit and therefore does not continues charging even though SHM would assign a longer time window than necessary.
Version: stable=0.1.0 (92 days old) => latest=1.0.0 (15 days old)
Installs: stable=305 (82.43%), latest=37 (10%), total=370
Click to edit
e.g.
EarliestStart: 18000 (earliest in 5h)
LatestEnd: 25200 (latest in 7h)
MinRunningTime: 3600 (MUST: 1h)
MaxRunningTime: 3600 (no optional operation)
not sure how to get the information from user...
Ich nutze SEMP in Kombi mit einem Go-e Charger und einer knapp 25 kWp PV Anlage mit kleinem Speicher.
Heute Morgen hat das Auto mit 6A angefangen zu laden, obwohl der Speicher gerade mal bei 13% SoC stand. Die unterste Entladungsgrenze ist bei mir eingestellt bei 10%.
Es wäre prima, wenn man hier eine Abfrage des Batterie SoC einbauen könnte und einen Schwellenwert angeben könnte, ab bzw bis wann der Speicher priorisiert geladen werden soll und ab wann das Auto geladen werden soll.
Ein weiterer Wunsch wäre es, wenn man einen "Schalter" einbauen könnte um zwischen "PV Laden" und "Schnellladen" umswitchen zu können. Schnellladen mit voller Leistung (einschl. Netzbezug) quasi ohne das SEMP dazwischen funkt und runterregelt.
Could one for the 3Phasen switchover also in the list
where one enters e.g. a number or a Boolean value perhaps a http command can send?
Then you would not need to create your own script.
what to do?
Describe the bug
I have a device configured as heat pump type. It turns on the switch data point properly with start of the designated time window but does not turn off at the end of the time window or in any other case.
Expected behavior
Device should turn off triggered by SHM and at the end of the time window
Screenshots & Logfiles
Data point history (I switched it off manually at 17:48 since this did not happen automatically)
a datapoint should activate a separate mode to charge with highest power:
Version: stable=0.1.0 (52 days old) => latest=0.3.1 (15 days old)
Installs: stable=162 (80.2%), latest=31 (15.35%), total=202
Click to edit
Error in log of SHM when using Min/MaxEnergy (used for Wallboxes)
[InvalidTimeframe: Min/MaxEnergy not supported by device. Conversion to Min/MaxRunningTime not possible as device/timeframe power is variable. -> Timeframe[0] ignored]
TypeError Gateway.setOnOffDevice(iobroker.semp.lib.semp:Gateway)
Cannot read properties of undefined (reading 'setOnOff')
After "On" recommendation, device is switched on, but switching off the device is missing.
not sure how to handle that...
Hi all,
Specs:
Plattform = linux
Betriebssystem = linux
Node.js = v18.16.1
js-controller: 4.0.24
The adapter worked fine already and data are transmitted to the SHM / SunnyPortal properly.
Since 1 week and update to node.js 18.16.1 the SHM seams not to be connected anymore.
Not really sure, if the update is related to the issue.
Today, manual update to latest adapter version done as well - no change.
Logs look good as well:
log_20230710.csv
Data are generated / Adapter is "green".
Within the SunnyPortal, the devices are initially configured and data are received in the past.
Adding new devices works in the adapter, but they are not shown in the SunnyPortal.
The permanent updates from the adapter are running as well - checking debug logs.
In the SunnyPortal logs, i can see some entries.
Any ideas, what else I can check and what might be the issue.
Thanks for your support, much appreciated!!
Best,
Kevin
This adapter currently used fixed dependency versions. Please change them to use semantic versioning (^1.2.3 instead of 1.2.3).
Normally there is no need to fix to a specific version in general In most cases this produces more troubles than benefits. In addition this config consumes more diskspace as npm cannot optimze installations. 99% of adapters use semantic versioning.
Currently this adapter fails at js-controller 6 because of this usage - and even worst it causes the complete ioBroker installation to fail at some installations.
Of course its ok to specify a fixed version if there is a special reason. But this is usually an exceptional situation.
Access right check for adapter semp returned the following issue:
Bluefox was not found in the collaborators on NPM!.
Please execute in adapter directory: "npm owner add bluefox iobroker.semp"
Current maintainers are
rg-engineering [email protected]
Please fix the above error as soon as possible.
All adapters listed at ioBroker repositories must have 'bluefox' added as maintainer.
Future version updates at the repositories will be suspended until this problem is fixed.
Es scheint, die Energieanforderung wird nicht abgebrochen, wenn kein Fahrzeug angesteckt ist.
Wahrscheinlich im Zusammenhang mit Verlängerung ...
see ioBroker/AdapterRequests#689
Trunks1982 and Tagiwara report that no power values are shown in SunnyPortal
Aktuell nutze die Anwendung SmartApplianceEnabler, ich habe dort aber Probleme mit mqtt und überlege ich auf ioBroker.semp zu wechseln.
Im SmartApplianceEnabler gibt es die Funktion, dass ich ein Zeitfenster nur bei Bedarf aktivieren kann. Die beschriebe Funktion ermöglicht die Einplanung eines Geräts durch den Sunny-Home-Manager nur dann, wenn das Gerät wirklich einen Bedarf meldet.
Old csv log files are currently not deleted
If I start the semp Instance I get follow error message in the iobroker log:
2022-09-10 11:19:34.279 - info: host.iobroker instance system.adapter.semp.0 started with pid 27741
--
2022-09-10 11:19:34.648 - error: host.iobroker Caught by controller[0]: internal/modules/cjs/loader.js:753
2022-09-10 11:19:34.648 - error: host.iobroker Caught by controller[0]: throw new ERR_UNKNOWN_BUILTIN_MODULE(filename);
2022-09-10 11:19:34.648 - error: host.iobroker Caught by controller[0]: ^
2022-09-10 11:19:34.648 - error: host.iobroker Caught by controller[0]: Error [ERR_UNKNOWN_BUILTIN_MODULE]: No such built-in module: node:stream/consumers
2022-09-10 11:19:34.648 - error: host.iobroker Caught by controller[0]: at new NodeError (internal/errors.js:322:7)
2022-09-10 11:19:34.648 - error: host.iobroker Caught by controller[0]: at Function.Module._load (internal/modules/cjs/loader.js:753:13)
2022-09-10 11:19:34.648 - error: host.iobroker Caught by controller[0]: at Module.require (internal/modules/cjs/loader.js:974:19)
2022-09-10 11:19:34.648 - error: host.iobroker Caught by controller[0]: at require (internal/modules/cjs/helpers.js:101:18)
2022-09-10 11:19:34.649 - error: host.iobroker Caught by controller[0]: at Object. (/opt/iobroker/node_modules/iobroker.semp/lib/semp/Gateway.js:1:18)
2022-09-10 11:19:34.649 - error: host.iobroker Caught by controller[0]: at Module._compile (internal/modules/cjs/loader.js:1085:14)
2022-09-10 11:19:34.649 - error: host.iobroker Caught by controller[0]: at Object.Module._extensions..js (internal/modules/cjs/loader.js:1114:10)
2022-09-10 11:19:34.649 - error: host.iobroker Caught by controller[0]: at Module.load (internal/modules/cjs/loader.js:950:32)
2022-09-10 11:19:34.649 - error: host.iobroker Caught by controller[0]: at Function.Module._load (internal/modules/cjs/loader.js:790:12)
2022-09-10 11:19:34.649 - error: host.iobroker Caught by controller[0]: at Module.require (internal/modules/cjs/loader.js:974:19) {
2022-09-10 11:19:34.649 - error: host.iobroker Caught by controller[0]: code: 'ERR_UNKNOWN_BUILTIN_MODULE'
2022-09-10 11:19:34.649 - error: host.iobroker Caught by controller[0]: }
2022-09-10 11:19:34.649 - error: host.iobroker instance system.adapter.semp.0 terminated with code 1 (JS_CONTROLLER_STOPPED)
2022-09-10 11:19:34.649 - info: host.iobroker Restart adapter system.adapter.semp.0 because enabled
iobroker Admin: 6.2.20
js-controller: 4.0.23
Node.js: v14.19.3
NPM: 6.14.17
I used the iobroker IP in the main settings. UUID was not generated.
Hallo,
erstmal vielen Dank, dass die "Aktivierbarkeit" der Zeitfenster umgesetzt hast. Darauf aufbauend ist mir heute noch die folgende Funktion in den Sinn gekommen; ich bin mir aber nicht ganz sicher, ob es evtl. auch heute schon korrekt funktionieren würde.
Folgender Use-Case, z. B. soll eine Klimaanlage über den SHM gesteuert werden. Entsprechende Timeframes können ja jetzt geplant werden, allerdings gibt es dann auch den Case, dass eine Klimaanlage abends kühlen soll und dann nicht durch den SHM deaktiviert werden soll.
Daher wäre es gut, wenn quasi der Zugriff der "Deaktivierung (Steuerung)" des Geräts durch den SHM temporär unterbunden werden könnte. Nach meinem Verständnis müsste der SHM heute denken: kein aktives Zeitfenster, bzw. nicht ausreichend PV Strom --> also deaktiviere ich die Klimaanlage.
Dank dir!
Hallo,
erst einmal vielen Dank für die hervorragende SEMP Implementierung. Man sieht Ihrem Code an, das Sie schon viele Probleme aus dem Feld, z.B. bei der On/Off Erkennung über die Leistungsaufnahme, gelöst haben.
Ich arbeite hauptberuflich als Embedded Software Entwickler und kenne solche Probleme zu Genüge.
Ich habe meine Gebäudesteuerung hauptsächlich auf BeagleBone Black Controllern mit Node RED laufen. Daher habe ich Ihr Projekt geforked und so angepasst, dass es sich in NodeRED einbinden lässt und ich zu meiner Applikation hin eine stabile JavaScript Schnittstelle habe.
Eine kleine Anpassung habe ich im Timeframe vorgenommen, man kann nun die Zeiten direkt in Sekunden setzen. Das macht für meine Boilersteuerung viel Sinn, da ich in meiner Applikation die Aufheizzeit in Sekunden berechne.
Ich fände es super wenn wir in Zukunft bei dem Projekt zusammen arbeiten könnten.
Den einzigen Kollisionspunkt, den ich momentan sehe ist die package.json, hier müssen unterschiedliche Einstiegsklassen gesetzt sein, je nachdem ob das npm-Package für den ioBroker oder für Node RED genutzt wird.
Weiterhin enthält lib/semp momentan viele Abhängigkeiten zu den Internas von ioBroker, die ich momentan alle gemocked habe, damit ich einen Proof of Concept bei mir als Laufen bekomme. Ich könnte gerne beim Kapseln dieser Abhängigkeiten behilflich sein, sodass lib/semp keine Abhängigkeit mehr zum ioBroker hat, sondern ein generisches node.js Projekt wird. Diese wäre dann allein auf main.js beschränkt.
should work like "Anlaufstromerkennung" in SAE
Da der Winter vor der Tür steht ist es möglich sowas einzubauen wenn ich den Abends anstecke und will morgens um 5Uhr losfahren das er dann bestimmt viel kWh geladen werden?
Also so wie bei Evcc.Ich geb an er soll um 5Uhr morgens zb 80% geladen sein.So wäre auch zb morgens der Akku aufgewärmt wenn er wirklich bis dahin durch lädt und die Menge erreicht.
Hi,
I'd greately appreciate if you could clarify the description of these fields in the UI a bit more.
minimum time for new ON status [minutes]
minimum time for new OFF status [minutes]
Does minimum time for new ON status [minutes] mean
a) Stays ON for at least x minutes after has been switched ON
or
b) Must be OFF at least x minutes before a new ON status can be set
This is not really clear to me from the UX (had to look into the code). Maybe you could improve on that?
Thanks!
https://adapter-check.iobroker.in/
[E125] External icon not found under URL: https://raw.githubusercontent.com/rg-engineering/ioBroker.semp/main/admin/semp.png
[E200] Not found on npm. Please publish
[E502] "admin/img/info-big.png" not found, but selectID.js used in index_m.html
[E802] No topics fund in the repository. Please go to "https://github.com/rg-engineering/ioBroker.semp", press the settings button beside the about title and add some topics.
[W171] "common.title" is deprecated in io-package.json
[W156] Adapter should support admin 5 UI (jsonConfig)
[W400] Cannot find "semp" in latest repository
[W801] .npmignore not found
Version: stable=1.3.13 (69 days old) => latest=1.3.14 (15 days old)
Installs: stable=465 (52.48%), latest=52 (5.87%), total=886
Click to use developer portal
Click to edit
Note: This is an automatically generated message and not personally authored by bluefox!
Do not close this issue manually as a new issue will be created if condition for update still exists
@mcm1957 for evidence
device dase id should be calculated automatically after installation.
At the moment it's just "0" after installation. If it's deleted and admin is restarted then it is calculated okay...
the same for UUID and ip-address after first installation...
Hallo,
ich brauche wohl noch Hilfe beim Einrichten.
Ich will meine Wallbox als "Verbraucher" im Portal sehen können. SHM soll nichts schalten können.
Device ist da und zählt fleißig mit:
Das SEMP-Gateway wurde vom Portal wohl auch gefunden:
Aber die Wallbox selber sehe ich nirgendwo als Verbraucher.
Was mache ich falsch?
Schöne Grüße
Eugen
should be like the other wallbox setiings in the list
Version: stable=1.3.4 (71 days old) => latest=1.3.9 (15 days old)
Installs: stable=418 (58.22%), latest=49 (6.82%), total=718
Click to use developer portal
Click to edit
Note: This is an automatically generated message and not personally authored by bluefox!
Hallo danke für den Super Adapter.
Die kann verbraucher gehen alle super, nun habe ich verbraucher die müssen am Tag (egal wann) 4Stunden laufen können aber auch eine längere Zeit laufen wenn genügend Sonne da ist.
Leider habe ich die Einstellung dafür nicht gefunden oder gibt es diese nicht?
Danke für die Hilfe.
Gerät sollte bei Erreichen der max. Laufzeit oder spätestens am Ende der max. möglichen Einschaltzeit ausgeschaltet werden.
Manchmal ist das nicht der Fall und das Gerät bleibt an
sometimes SHM does not send a switch off recommendation, so device stays on
Version: stable=1.3.4 (127 days old) => latest=1.3.13 (15 days old)
Installs: stable=583 (68.83%), latest=52 (6.14%), total=847
Click to use developer portal
Click to edit
Note: This is an automatically generated message and not personally authored by bluefox!
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.