Stromverbrauch über Nacht

Einrichtung der openHAB Umgebung und allgemeine Konfigurationsthemen.

Moderatoren: seppy, udo1toni

BOP
Beiträge: 197
Registriert: 23. Sep 2018 19:43
Answers: 1

Re: Stromverbrauch über Nacht

Beitrag von BOP »

Du legst eine Rule an, die z.B. jeden Tag um 9:15 Uhr einmal läuft und das Ergebnis dann in ein Item (vom Typ Number) schreibt.

Code: Alles auswählen

rule "Nachtverbrauch"
when 
    	Time cron "0 15 9 ? * * *" // Jeden Tag um 9:15 Uhr
then
	var Startzeit = now.with(LocalTime.MIDNIGHT).minusHours(6) // 18 Uhr Vortag
	var Endzeit = now.with(LocalTime.MIDNIGHT).plusHours(9) // 9 Uhr heute
	var kWhNacht =  StromzaehlerHaus_Gesamtstrom.deltaBetween(Startzeit,Endzeit)
	
	MeinNachtverbrauchItem.sendCommand(kWhNacht)
end

Lactobacillus
Beiträge: 158
Registriert: 1. Mär 2019 09:13
Answers: 0
Wohnort: Untergruppenbach BaWü

Re: Stromverbrauch über Nacht

Beitrag von Lactobacillus »

BOP hat geschrieben: 12. Jun 2023 19:22 Du legst eine Rule an, die z.B. jeden Tag um 9:15 Uhr einmal läuft und das Ergebnis dann in ein Item (vom Typ Number) schreibt.

Habe nun das ganze in VS Code angelegt und in OpenHab ein NumberItem erstellt. VS Code zeigt bei dem sendCommand einen Fehler!

Code: Alles auswählen

rule "Nachtverbrauch"
when 
    	Time cron "0 15 9 ? * * *" // Jeden Tag um 9:15 Uhr
then
	var Startzeit = now.with(LocalTime.MIDNIGHT).minusHours(6) // 18 Uhr Vortag
	var Endzeit = now.with(LocalTime.MIDNIGHT).plusHours(9) // 9 Uhr heute
	var kWhNacht =  StromzaehlerHaus_Gesamtstrom.deltaBetween(Startzeit,Endzeit)
	
	Photovoltaik_Nachtverbrauch.sendCommand(kWhNacht)
end

Benutzeravatar
udo1toni
Beiträge: 15247
Registriert: 11. Apr 2018 18:05
Answers: 242
Wohnort: Darmstadt

Re: Stromverbrauch über Nacht

Beitrag von udo1toni »

Punkt 1: Bitte kein sendCommand (es sei denn, Du möchtest mit dem Item etwas an die Außenwelt senden)
Punkt 2a: Wenn VS Code einen Fehler anzeigt, warum verrätst Du nicht, wie die Meldung lautet?
Punkt 2b: Funktioniert es vielleicht trotzdem?
Punkt 2c: Welcher Itemtyp ist Photovoltaik_Nachtverbrauch?
openHAB4.3.3 stable in einem Debian-Container (bookworm) (Proxmox 8.3.5, LXC), mit openHABian eingerichtet

Lactobacillus
Beiträge: 158
Registriert: 1. Mär 2019 09:13
Answers: 0
Wohnort: Untergruppenbach BaWü

Re: Stromverbrauch über Nacht

Beitrag von Lactobacillus »

Ok, versuche es mal kurz alles zu beantworten.

Senden will ich nichts vielleicht irgendwann eine Telegram Message aber denke das Item ist eh nur vorrübergehend.

Der Fehler in VSVode:

Code: Alles auswählen

Ambiguous feature call.
The extension methods
	sendCommand(Item, Number) in BusEvent and
	sendCommand(Item, Command) in BusEvent
both match.
Leider erscheint es so nicht, es erscheint nicht in der Ruleliste in Openhab

Das Item wurde als Number angelegt!

Benutzeravatar
udo1toni
Beiträge: 15247
Registriert: 11. Apr 2018 18:05
Answers: 242
Wohnort: Darmstadt

Re: Stromverbrauch über Nacht

Beitrag von udo1toni »

Ach so, hab vergessen Punkt 1 noch etwas auszuführen...

.sendCommand()
-> Sende einen Befehl (wird in events.log als "received command" gespeichert. Wird an verlinkte Channel weitergeleitet, die den Befehl dann ihrerseits an die verbundene Hardware weiterleiten)
.postUpdate() -> Ändere den Status (bzw. führe ein Update des Status aus) (wird in events.log als "changed" geloggt - oder nicht, falls es nur ein Update ohne Change gab. received update wird gewöhnlich nicht geloggt. Wird nicht an verlinkte Channel weitergeleitet - es sei denn, es handelt sich um knx-control Channel... spezielle Spezial-Spezialität...)

Du solltest also den errechneten Wert mit Photovoltaik_Nachtverbrauch.postUpdate(kWhNacht) in das Item schreiben (und damit wird vermutlich auch der Ambiguos feature call verschwinden)
openHAB4.3.3 stable in einem Debian-Container (bookworm) (Proxmox 8.3.5, LXC), mit openHABian eingerichtet

Lactobacillus
Beiträge: 158
Registriert: 1. Mär 2019 09:13
Answers: 0
Wohnort: Untergruppenbach BaWü

Re: Stromverbrauch über Nacht

Beitrag von Lactobacillus »

Leider erscheint auch da eine Fehlermeldung!

Code: Alles auswählen

Ambiguous feature call.
The extension methods
	postUpdate(Item, State) in BusEvent and
	postUpdate(Item, Number) in BusEvent
both match.
oder hätte ich das Item auch im VS Code anlegen müssen? Habe es über die OpenHab Oberfläche angelegt

Benutzeravatar
udo1toni
Beiträge: 15247
Registriert: 11. Apr 2018 18:05
Answers: 242
Wohnort: Darmstadt

Re: Stromverbrauch über Nacht

Beitrag von udo1toni »

Nein, das sollte keine Rolle spielen. Die "schmutzige" Methode, das Problem zu umgehen, wäre, kWhNacht.toString hinzuschreiben. Da kWhNacht nicht weiter spezifiziert ist, wird es automatisch als Objekt generiert, womit .toString zur Verfügung steht.

Weiterhin könnte den Wert casten, allerdings sollte das gewöhnlich nicht nötig sein:

Code: Alles auswählen

rule "Nachtverbrauch"
when 
    	Time cron "5 0 9 ? * *" // Jeden Tag um 9:00:05 Uhr
then
	var Startzeit = now.with(LocalTime.MIDNIGHT).minusHours(6) // 18 Uhr Vortag
	var Endzeit = now.with(LocalTime.MIDNIGHT).plusHours(9) // 9 Uhr heute
	var kWhNacht =  StromzaehlerHaus_Gesamtstrom.deltaBetween(Startzeit,Endzeit)
	
	Photovoltaik_Nachtverbrauch.postUpdate(kWhNacht as Number)
end
Fünf Sekunden sollten mehr also ausreichend sein, um absolut sicherzustellen, dass Daten für den zweiten Zeitpunkt zur Verfügung stehen, entsprechend kann man die Rule auch wesentlich früher ausführen lassen :)
openHAB4.3.3 stable in einem Debian-Container (bookworm) (Proxmox 8.3.5, LXC), mit openHABian eingerichtet

EmptySoft
Beiträge: 247
Registriert: 7. Jan 2020 14:45
Answers: 2
Kontaktdaten:

Re: Stromverbrauch über Nacht

Beitrag von EmptySoft »

Ja, es ist ein Auszug aus einer Rule. Ich bin leider nicht gut in "offline" Rules schreiben.
BYe
Harald

Lactobacillus
Beiträge: 158
Registriert: 1. Mär 2019 09:13
Answers: 0
Wohnort: Untergruppenbach BaWü

Re: Stromverbrauch über Nacht

Beitrag von Lactobacillus »

EmptySoft hat geschrieben: 13. Jun 2023 05:46 Ja, es ist ein Auszug aus einer Rule. Ich bin leider nicht gut in "offline" Rules schreiben.
Kein Problem, immerhin hat ja das Grundgerüst gestimmt. Ich kanns gar nicht.

@Udo Es funktioniert jetzt hat mir auch sofort Rückwirkend einen Wert geliefert allerdings erscheint mir 5,2 kwh etwas viel für Nachts aber werde das mal beobachten die kommenden Tage der Tagesverbrauch liegt bei 10-12kwh.

Benutzeravatar
udo1toni
Beiträge: 15247
Registriert: 11. Apr 2018 18:05
Answers: 242
Wohnort: Darmstadt

Re: Stromverbrauch über Nacht

Beitrag von udo1toni »

Lactobacillus hat geschrieben: 13. Jun 2023 20:33 allerdings erscheint mir 5,2 kwh etwas viel für Nachts
Nein, warum? Es ist ja kein "Nacht"-Wert, sondern der Gesamtverbrauch zwischen 18 Uhr und 9 Uhr (das sind 15 Stunden).
Du kannst das Zeitfenster beliebig anpassen, also meinetwegen auch von 22 Uhr bis 5 Uhr, das wären dann nur sieben Stunden, und außerdem in einer Zeit, in der man gerne mal schläft.
Es sei denn, man ist Schichtdienstler :) Ich gehe um 01:30 Uhr ins Bett und stehe um 02:10 Uhr auf (natürlich nicht an aufeinander folgenden Tagen...)
openHAB4.3.3 stable in einem Debian-Container (bookworm) (Proxmox 8.3.5, LXC), mit openHABian eingerichtet

Antworten