[NEUHEIT] Advanced Betriebsstundenzaehler

Hier stellen Foristen und Kunden Ihre EIGENEN Logikbausteine vor. Diese Logikbausteine stehen jedem im Rahmen der vom Autor eingeräumten / genannten Lizenz zur Verfügung.
Forumsregeln
  • Denke bitte an aussagekräftige Titel und gebe dort auch die [Firmware] an. Wenn ETS oder CometVisu beteiligt sind, dann auch deren Version
  • Bitte mache vollständige Angaben zu Deinem Server, dessen ID und dem Online-Status in Deiner Signatur. Hilfreich ist oft auch die Beschreibung der angeschlossener Hardware sowie die verwendeten Protokolle
  • Beschreibe Dein Projekt und Dein Problem bitte vollständig. Achte bitte darauf, dass auf Screenshots die Statusleiste sichtbar ist
  • Bitte sei stets freundlich und wohlwollend, bleibe beim Thema und unterschreibe mit deinem Vornamen. Bitte lese alle Regeln, die Du hier findest: https://wiki.timberwolf.io/Forenregeln
Antworten

Ersteller
Robert_Mini
Beiträge: 3919
Registriert: So Aug 12, 2018 8:44 am
Hat sich bedankt: 1289 Mal
Danksagung erhalten: 2233 Mal

Advanced Betriebsstundenzaehler

#1

Beitrag von Robert_Mini »

Hallo zusammen!

Ein weiterer Bausteine ist fertig!

Funktion:
Der Baustein erweitert den Standard Betriebsstundenzaehler auf einen Tages/Monatszähler. Zusätzlich kann das zyklische Sendeintervall getrennt für Zustand Ein/Aus angegeben werden (Hintergrund: im Zustand Aus ändert sich der Zählerstand nicht, so dass ein selteneres Senden ausreichend ist)
2 Weitere Ausgänge senden nicht zyklisch, sondern nur beim Tages-Reset (zB zum Speichern in csv-File).

Anwendungsbeispiele:
Betriebsstundenzähler für Wärmepumpe, Waschmaschine, etc. - alle was seinen Status mit 0/1 auf den Bus sendet.

Eingänge:
  • Aktiv: Status des zu messenden Gerätes.
    Zyklisch Senden: Aktiviert das zyklische Senden
    Sendeintervall 1: Sendeintervall im Zustand EIN
    Sendeintervall 2: Sendeintervall im Zustand AUS
Ausgänge:
  • Betriebsstunden Tag: Tageszähler, wird um Mitternacht zurückgesetzt. Der Wert wird entsprechend Sendeintervall zyklisch und beim Statuswechsel des Eingangs "Aktiv" gesendet.
  • Betriebsstunden Monat: Monatszähler, wird bei Monatswechsel um Mitternacht zurückgesetzt. Der Wert wird entsprechend Sendeintervall zyklisch und beim Statuswechsel des Eingangs "Aktiv" gesendet.
  • Betriebsstunden Tag1: Tageszähler, sendet seinen Wert nur beim Reset.
  • Betriebsstunden Monat1: Monatszähler, sendet seinen Wert nur täglich beim Tagesreset.

Der Baustein:

Bild

Code: Alles auswählen

/**===========================================================
Betriebsstundenzähler für Tages-/Monatsbetriebsdauer 
============================================================*/
{
  "Input": [
        ["Aktiv","True wenn in Betrieb","$I_State","c"], 
		["Zyklisch Senden","Sendeintervalle aktivieren","$I_Interval_Enable","c"],
		["Sendeintervall 1","Sendeintervall im Zustand EIN","$I_Interval_On","c"],
		["Sendeintervall 2","Sendeintervall im Zustand AUS","$I_Interval_Off","c"]
  ],
  "Output": [
		["Betriebsstunden Tag","Betriebsdauer in h seit Tageswechsel","$Betriebsdauer_Tag","ct"],
		["Betriebsstunden Monat","Betriebsdauer in h seit Monatswechsel","$Betriebsdauer_MonatNeu","ct"],
		["Betriebsstunden Tag1","Betriebsdauer in h seit Monatswechsel, sendet 1x/Tag beim Reset","$Betriebsdauer_TagLast","c"],
		["Betriebsstunden Monat1","Betriebsdauer in h seit Monatswechsel, sendet 1x/Tag beim Reset","$Betriebsdauer_MonatLast","c"]
  ],
  "Level": [
		["$I_State","bool",false],
		["$Reset","bool",false],	
		["$ResetTag","bool",false],	
		["$ResetMonat","bool",false],	
		["$Betriebsdauer_Tag","float",0.11],
		["$Betriebsdauer_TagLast","float",0.0],
		["$Betriebsdauer_Monat","float",0.32],
		["$Betriebsdauer_MonatNeu","float",0.0],
		["$Betriebsdauer_MonatLast","float",0.0],
		["$KonstTrue","bool",true],
		["$KonstFalse","bool",false],
		["$Konst1","float",1.0],
		["$Konst0","float",0.0],
		["$I_Interval_Enable","bool",true],
		["$I_Interval_On","float",15.0],
		["$I_Interval_Off","float",60.0],
		["$I_Interval","float",10.0],
		["$Interval","float",3600.0],
		["$Interval_Reset","float",0.1],
		["$StartZeitTag","string","3 0 0 2-31 * *"],
		["$StartZeitMonat","string","3 0 0 1 * *"]
  ],
  "Module": [
		//Sendeintervall setzen (abhängig aktiv/inaktiv)
		["Multiplexer",["$I_Interval_Off","$I_Interval_On"],"$I_Interval","$I_State"],
		// Betriebsdauer aktualisieren
		["HobbsMeter","$I_State","$Betriebsdauer_Tag","$Reset"],
		
		// ResetTag auf 0 setzen (wurde im letzten Aufruf vom Cron aktiviert )
		["Multiplexer",["$ResetTag","$KonstFalse"],"$ResetTag","$ResetTag"],
		
		// Monatszaehler zurücksetzen und ResetMonat auf 0 setzen 
		["Multiplexer",["$Betriebsdauer_Monat","$Konst0"],"$Betriebsdauer_Monat","$ResetMonat"],
		["Multiplexer",["$ResetMonat","$KonstFalse"],"$ResetMonat","$ResetMonat"],
		
		// Timer für Reset Tag/Monat, sendet nochmal die letzten Werte und triggert einen erneuten Aufruf
		["Cron","$KonstTrue","$ResetTag",0,"$StartZeitTag"],
		["Cron","$KonstTrue","$ResetMonat",0,"$StartZeitMonat"],
		["Or" , ["$ResetTag" , "$ResetMonat"], "$Reset"],
		// Bei Reset nochmaligen Aufruf triggern => Intervall verkürzen!
		["Multiplexer",["$I_Interval","$Interval_Reset"],"$Interval","$Reset"],
		
		// Tageszähler laufend zum aktuellen Monatsstand (bis Vortag) addieren
		["Polynomial","$Konst1","$Betriebsdauer_MonatNeu",["$Betriebsdauer_Monat", "$Betriebsdauer_Tag"]],
		
		// Beim Triggern von Reset täglich Monatszaehler speichern
		["Multiplexer",["$Betriebsdauer_Monat","$Betriebsdauer_MonatNeu"],"$Betriebsdauer_Monat","$Reset"],
		// beim Reset letzten Tages-/Monatswert aktualisieren (und senden)
		["Multiplexer",["$Betriebsdauer_MonatLast","$Betriebsdauer_MonatNeu"],"$Betriebsdauer_MonatLast","$Reset"],
		["Multiplexer",["$Betriebsdauer_TagLast","$Betriebsdauer_Tag"],"$Betriebsdauer_TagLast","$Reset"],
	
		// Clocksignal für Sendeintervall
		["Clocksignal","$I_Interval_Enable",0,"$Interval"]
  ]
}


/** Der Schöpfer dieser Custom Logik überträgt die Nutzungsrechte gemäß der TOLL ("Timberwolf Open Logikblock License") 
die unter https://wrgt.news/TOLL zum Download zur Verfügung steht. */
Nutzungsrechte:
Der Schöpfer dieser Custom Logik überträgt die Nutzungsrechte gemäß der TOLL ("Timberwolf Open Logikblock License") die unter https://wrgt.news/TOLL zum Download zur Verfügung steht.

Falls wer einen freiwilligen Beitrag zur Motivation leisten will: Klick

Viel Spaß damit und gerne Rückmeldung, wenn was fehlt oder euch die Sache gefällt.
Robert
Zuletzt geändert von Robert_Mini am So Feb 09, 2020 10:52 am, insgesamt 1-mal geändert.
Timberwolf Server 2500 / #117 (VPN offen + reboot nach Rückfrage) / zusätzlich: 3500M/#935, 3500L/#1297

Ersteller
Robert_Mini
Beiträge: 3919
Registriert: So Aug 12, 2018 8:44 am
Hat sich bedankt: 1289 Mal
Danksagung erhalten: 2233 Mal

#2

Beitrag von Robert_Mini »

Hallo zusammen!

Ich habe vor einigen Wochen eine Anfrage bezüglich Erweiterung um einen Jahreszähler bekommen und diesen Wunsch umgesetzt.
Betriebsstundenzähler.png

Code: Alles auswählen

{
  "Input": [
        ["Aktiv","True wenn in Betrieb","$I_State","c"], 
		["Zyklisch Senden","Sendeintervalle aktivieren","$I_Interval_Enable","c"],
		["Sendeintervall 1","Sendeintervall im Zustand EIN","$I_Interval_On","c"],
		["Sendeintervall 2","Sendeintervall im Zustand AUS","$I_Interval_Off","c"]
  ],
  "Output": [
		["Betriebsstunden Tag","Betriebsdauer in h seit Tageswechsel","$Betriebsdauer_Tag","ct"],
		["Betriebsstunden Monat","Betriebsdauer in h seit Monatswechsel","$Betriebsdauer_MonatNeu","ct"],
        ["Betriebsstunden Jahr","Betriebsdauer in h seit Jahresswechsel","$Betriebsdauer_JahrNeu","ct"],
		["Betriebsstunden Tag1","Betriebsdauer in h seit Monatswechsel, sendet 1x/Tag beim Reset","$Betriebsdauer_TagLast","c"],
		["Betriebsstunden Monat1","Betriebsdauer in h seit Monatswechsel, sendet 1x/Tag beim Reset","$Betriebsdauer_MonatLast","c"],
		["Betriebsstunden Jahr1","Betriebsdauer in h seit Jahreswechsel, sendet 1x/Tag beim Reset","$Betriebsdauer_JahrLast","c"]
  ],
  "Level": [
		["$I_State","bool",false],
		["$Reset","bool",false],	
		["$ResetTag","bool",false],	
		["$ResetMonat","bool",false],
		["$ResetJahr","bool",false],
		["$Betriebsdauer_Tag","float",0.0],
		["$Betriebsdauer_TagLast","float",0.0],
		["$Betriebsdauer_Monat","float",0.0],
		["$Betriebsdauer_MonatNeu","float",0.0],
		["$Betriebsdauer_MonatLast","float",0.0],
		["$Betriebsdauer_Jahr","float",0.0],
		["$Betriebsdauer_JahrNeu","float",0.0],
		["$Betriebsdauer_JahrLast","float",0.0],
		["$KonstTrue","bool",true],
		["$KonstFalse","bool",false],
		["$Konst1","float",1.0],
		["$Konst0","float",0.0],
		["$I_Interval_Enable","bool",true],
		["$I_Interval_On","float",15.0],
		["$I_Interval_Off","float",60.0],
		["$I_Interval","float",10.0],
		["$Interval","float",3600.0],
		["$Interval_Reset","float",0.1],
		["$StartZeitTag","string","22 0 0 2-31 * *"],
		["$StartZeitMonat","string","22 0 0 1 2-12 *"],
		["$StartZeitJahr","string","22 0 0 1 1 *"]
  ],
  "Module": [
		//Sendeintervall setzen (abhängig aktiv/inaktiv)
		["Multiplexer",["$I_Interval_Off","$I_Interval_On"],"$I_Interval","$I_State"],
		// Betriebsdauer aktualisieren
		["HobbsMeter","$I_State","$Betriebsdauer_Tag","$Reset"],
		
		// ResetTag auf 0 setzen (wurde im letzten Aufruf vom Cron aktiviert )
		["Multiplexer",["$ResetTag","$KonstFalse"],"$ResetTag","$ResetTag"],
		
		// Monats-/Jahreszaehler zurücksetzen und ResetMonat auf 0 setzen 
		["Multiplexer",["$Betriebsdauer_Monat","$Konst0"],"$Betriebsdauer_Monat","$ResetMonat"],
		["Multiplexer",["$Betriebsdauer_Jahr","$Konst0"],"$Betriebsdauer_Jahr","$ResetJahr"],
		["Multiplexer",["$ResetMonat","$KonstFalse"],"$ResetMonat","$ResetMonat"],
		["Multiplexer",["$ResetJahr","$KonstFalse"],"$ResetJahr","$ResetJahr"],
		
		// Timer für Reset Tag/Monat, sendet nochmal die letzten Werte und triggert einen erneuten Aufruf
		["Cron","$KonstTrue","$ResetTag",0,"$StartZeitTag"],
		["Cron","$KonstTrue","$ResetMonat",0,"$StartZeitMonat"],
		["Cron","$KonstTrue","$ResetJahr",0,"$StartZeitJahr"],
		["Or" , ["$ResetTag" , "$ResetMonat", "$ResetJahr"], "$Reset"],
		// Bei Reset nochmaligen Aufruf triggern => Intervall verkürzen!
		["Multiplexer",["$I_Interval","$Interval_Reset"],"$Interval","$Reset"],
		// Bei Reset Jahr auch Monat zurücksetzen
		["Latch","$KonstTrue","$ResetMonat","$ResetJahr",0],
		
		// Tageszähler laufend zum aktuellen Monatsstand (bis Vortag) addieren
		["Polynomial","$Konst1","$Betriebsdauer_MonatNeu",["$Betriebsdauer_Monat", "$Betriebsdauer_Tag"]],
		["Polynomial","$Konst1","$Betriebsdauer_JahrNeu",["$Betriebsdauer_Jahr", "$Betriebsdauer_Tag"]],
		
		// Beim Triggern von Reset täglich Monatszaehler speichern
		["Multiplexer",["$Betriebsdauer_Monat","$Betriebsdauer_MonatNeu"],"$Betriebsdauer_Monat","$Reset"],
		["Multiplexer",["$Betriebsdauer_Jahr","$Betriebsdauer_JahrNeu"],"$Betriebsdauer_Jahr","$Reset"],		
		// beim Reset letzten Tages-/Monatswert aktualisieren (und senden)
		["Multiplexer",["$Betriebsdauer_MonatLast","$Betriebsdauer_MonatNeu"],"$Betriebsdauer_MonatLast","$Reset"],
		["Multiplexer",["$Betriebsdauer_JahrLast","$Betriebsdauer_JahrNeu"],"$Betriebsdauer_JahrLast","$Reset"],
		["Multiplexer",["$Betriebsdauer_TagLast","$Betriebsdauer_Tag"],"$Betriebsdauer_TagLast","$Reset"],
		
		// Clocksignal für Sendeintervall
		["Clocksignal","$I_Interval_Enable",0,"$Interval"]
  ]
}
//*Der Schöpfer dieser Custom Logik überträgt die Nutzungsrechte gemäß der TOLL ("Timberwolf Open Logikblock License") die unter https://wrgt.news/TOLL zum Download zur Verfügung steht. */
Du hast keine ausreichende Berechtigung, um die Dateianhänge dieses Beitrags anzusehen.
Timberwolf Server 2500 / #117 (VPN offen + reboot nach Rückfrage) / zusätzlich: 3500M/#935, 3500L/#1297

eib-eg
Beiträge: 796
Registriert: Fr Sep 14, 2018 5:03 pm
Hat sich bedankt: 1674 Mal
Danksagung erhalten: 574 Mal

#3

Beitrag von eib-eg »

Ich möchte mich für diese Logik bedanken und gleichzeitig nach oben holen da sie perfekt funktioniert :dance: :bow-yellow: :bow-yellow: .
Danke an @Robert_Mini
Aufgezeichnet werden die Brennerstunden der Heizung und mit dem Temperaturen verglichen und in Grafana übereinandergelegt.

Als nächstes wird vermitlich bei einem Leuchtmittelwechsel wegen Lebensdauer auch aufgezeichnet.
Hier währe dann interesant auf 0 zurücksetzen zu können oder eine neue zu erstellen.
Was haltet ihr davon?
TW 2600_99 seit 1.1.2018 / VPN zu

Celsius
Beiträge: 68
Registriert: So Jan 08, 2023 4:55 pm
Hat sich bedankt: 38 Mal
Danksagung erhalten: 15 Mal

#4

Beitrag von Celsius »

Hallo Robert
Ich möchte gern deinen Betriebsstundenzähler nutzen.
eine etwas umfangreichere Anleitung würde mir helfen.
Fragen die ich hätte:
1 erfasst der Eingang "Aktiv" auch Integer Werte? oder nur EIN/AUS.
2. Was ist im Filter eingestellt?
3. kann ich Sendeintervall 2 weglassen oder gleich Intervall 1 setzen
4. Was ist der Unterschied zwischen "Betriebsstunden Tag" und "Betriebsstunden Tag 1"
Vielen Dank
Gruß
Rainer
TWS 3500xl ID:1063 VPN offen, Reboot erlaubt, ETS 5.7.7, Gira HS4.12, PV Anlage 10kW, Kaco WR, PV Speicher 25kWh

StefanW
Elaborated Networks
Elaborated Networks
Beiträge: 11036
Registriert: So Aug 12, 2018 9:27 am
Wohnort: Frauenneuharting
Hat sich bedankt: 5439 Mal
Danksagung erhalten: 9320 Mal
Kontaktdaten:

#5

Beitrag von StefanW »

Hi zusammen,

richtig gute Beschreibungen sind noch Mangelware bei manchen Logik Modulen. Das müssen wir definitiv verbessern.

An potentielle Autoren: Es gibt im Insider Forum neue Empfehlungen für den Aufbau der Beschreibung von Logik Modulen. Wenn sich jemand daran machen würde, wäre das eine tolle Unterstützung. Gerade bei den Modulen, die aus der Community sind, tun wir uns selbst ein wenig schwer mit der Beschreibung, weil wir nicht die Autoren des Modules sind. Wir übertragen Eure Vorschläge dann auch gerne die Beschreibung im Logik Katalog und legen einen Wiki an mit Deeplink drauf.

Die Empfehlungen für Doku sind hier: viewtopic.php?t=6134

Danke an alle, die hier helfen wollen

lg

Stefan
Stefan Werner
Product Owner für Timberwolf Server, 1-Wire und BlitzART
Bitte WIKI lesen. Allg. Support nur im Forum. Bitte keine PN
Zu Preisen, Lizenzen, Garantie, HW-Defekt an service at elabnet dot de

Link zu Impressum und Datenschutzerklärung oben.

eib-eg
Beiträge: 796
Registriert: Fr Sep 14, 2018 5:03 pm
Hat sich bedankt: 1674 Mal
Danksagung erhalten: 574 Mal

#6

Beitrag von eib-eg »

Hallo zusammen,

hallo Stefan ( @StefanW ), hallo Rainer ( @Celsius ),

wie versprochen habe ich meine KI beauftragt, die Dokumentation für Robert_Minis hervorragenden Advanced Betriebsstundenzähler nach dem neuen Standard aufzubereiten. Der folgende Text wurde von der KI generiert, aber von mir Wort für Wort auf fachliche Korrektheit geprüft und für gut befunden.

Hier sind zwei Versionen der Dokumentation: Einmal die technische Fassung für den Logik-Katalog und einmal die „Erklärbär“-Variante für den einfachen Einstieg.

TEIL 1: Katalog-Dokumentation (Technischer Standard)

1. Titel
Advanced Betriebsstundenzähler (Tag / Monat / Jahr)

2. Untertitel
Präzise Erfassung von Gerätelaufzeiten mit kaskadierten Zeiträumen und intelligentem Sende-Management.

3. Zusatztext für das Verständnis (Die "Magie")
Dieser Baustein ist die Profilösung für die Laufzeitüberwachung. Er löst drei zentrale Aufgaben:

Zeiträume: Er liefert parallele Werte für den aktuellen Tag, Monat und das Jahr.

Bus-Schonung: Er nutzt zwei Sendeintervalle. Wenn das Gerät AUS ist, wird seltener gesendet als im EIN-Zustand.

Archiv-Schnittstelle: Er bietet „Snapshot“-Ausgänge (Tag 1, Monat 1, Jahr 1), die ihren Wert exakt zum Zeitpunkt des Resets (Mitternacht) senden – ideal für Datenbanken und CSV-Exports.

4. Kern-Module

HobbsMeter: Die Zeitbasis der Erfassung.

Cron: Die präzise Taktung für die Resets.

Multiplexer: Steuert die Umschaltung der Sendeintervalle.

Polynomial: Übernimmt die Akkumulation der Zeiträume.

Clocksignal: Erzeugt den zyklischen Sende-Takt.

5. Kern-Operation
Die Logik nutzt das HobbsMeter als Basiszähler für den Tag. Bei jedem Tageswechsel (Cron) wird der Tagesstand auf den Monats- und Jahreszähler aufaddiert (Polynomial) und anschließend der Tageszähler genullt. Ein interner Multiplexer wählt basierend auf dem Eingangsstatus (Aktiv) das passende Zeitintervall für das Clocksignal aus.

6. Beschreibung Kern-Eingänge
NameTypTriggerBeschreibung
AktivBoolcStatussignal des Geräts (True = läuft, False = steht).
Zyklisch SendenBoolcAktiviert das regelmäßige Senden der Werte (Heartbeat).
Sendeintervall EINFloatcSekunden zwischen Sendevorgängen, wenn das Gerät läuft.
Sendeintervall AUSFloatcSekunden zwischen Sendevorgängen, wenn das Gerät steht.
7. Beschreibung Kern-Ausgänge
NameTypSende-VerhaltenBeschreibung
Betriebsstunden TagFloatctAktuelle Laufzeit des heutigen Tages in Stunden [h].
Betriebsstunden MonatFloatctAktuelle Laufzeit des laufenden Monats in Stunden [h].
Betriebsstunden JahrFloatctAktuelle Laufzeit des laufenden Jahres in Stunden [h].
Betriebsstunden Tag 1FloatcFinaler Wert des Vortages. Sendet nur 1x täglich beim Reset.
Betriebsstunden Monat 1FloatcFinaler Wert des Vormonats. Sendet nur 1x monatlich beim Reset.
Betriebsstunden Jahr 1FloatcFinaler Wert des Vorjahres. Sendet nur 1x jährlich beim Reset.
8. Hinweise

Initialisierung: Nach dem ersten Start sind Monat/Jahr identisch mit dem Tag, bis der erste echte Zeitraum-Wechsel erfolgt.

Reset-Zeit: Standardmäßig um 00:00:22 Uhr, um Lastspitzen bei Mitternachts-Logiken zu vermeiden.

9. Erweiterte Mouse-Overs

Eingang "Aktiv": Hier den Status (z.B. vom Schaltaktor) verbinden. Zählt nur bei 'True'.

Ausgang "Betriebsstunden Tag 1": Dieser Wert ist perfekt für Grafana-Balkendiagramme geeignet.


________________________________________


TEIL 2: Die „Erklärbär“-Dokumentation (Einfach & Anschaulich)

Was macht diese Logik?
Stell dir vor, du hast ein digitales Fahrtenbuch für deine Heizung oder Waschmaschine. Diese Logik schreibt auf, wie viele Stunden das Gerät am Tag, im Monat und im ganzen Jahr gelaufen ist.

Warum ist das besser als der Standard-Zähler?

Die Logik denkt mit: Wenn die Heizung läuft, willst du vielleicht alle 5 Minuten wissen, wie lange sie schon an ist. Wenn sie aber den ganzen Tag aus ist, reicht es, wenn der Server nur einmal pro Stunde „alles ruhig“ meldet. Das spart Arbeit auf dem Datenbus.

Der Mitternachts-Brief: Jeden Morgen um kurz nach Mitternacht schickt dir die Logik einen „Brief“ mit dem Endergebnis von gestern (Ausgang „Tag 1“). Das ist super, um in Grafana schöne Balken für jeden Tag zu zeichnen, ohne dass die Linie zwischendurch „zappelt“.

Wie stelle ich das ein?

Aktiv: Hier kommt das Signal rein, ob das Gerät an ist.

Sendeintervall 1: Wie oft soll er senden, wenn das Gerät läuft? (z.B. 300 für alle 5 Min).

Sendeintervall 2: Wie oft soll er senden, wenn das Gerät aus ist? (z.B. 3600 für jede Stunde).

TEIL 3: Antworten auf Rainers (@Celsius) Fragen

Integer am Eingang? Nein, der Eingang Aktiv erwartet ein Bool-Objekt (True/False bzw. 1/0). Wenn du einen Integer-Wert hast, schalte einfach einen „Vergleicher“-Baustein davor.

Filter-Einstellung? Die Eingänge stehen auf „c“ (on change). Das heißt, die Logik rechnet sofort los, wenn sich der Status ändert. Die Ausgänge stehen auf „ct“, damit sie sowohl bei einer Änderung als auch nach Ablauf der Zeit (Intervall) senden.

Intervall 2 weglassen? Du kannst es nicht weglassen, aber du kannst in beide Felder den gleichen Wert schreiben, wenn du keine Unterscheidung zwischen EIN und AUS möchtest.

Unterschied Tag vs. Tag 1? „Tag“ ist dein Live-Zähler. Er wird während des Tages immer größer. „Tag 1“ ist das Endergebnis von gestern. Er ändert sich den ganzen Tag nicht und sendet nur einmal um Mitternacht seinen Endwert.

Ich hoffe, das hilft allen Beteiligten weiter und bringt uns dem Ziel eines vollen Logik-Katalogs ein Stück näher!

Beste Grüße,
eib-eg
TW 2600_99 seit 1.1.2018 / VPN zu

Celsius
Beiträge: 68
Registriert: So Jan 08, 2023 4:55 pm
Hat sich bedankt: 38 Mal
Danksagung erhalten: 15 Mal

#7

Beitrag von Celsius »

Hallo eib-eg,
vielen Dank, das ging ja super schnell und umfangreich.
Dann werde ich mich mal dranmachen.
Gruß
Rainer
TWS 3500xl ID:1063 VPN offen, Reboot erlaubt, ETS 5.7.7, Gira HS4.12, PV Anlage 10kW, Kaco WR, PV Speicher 25kWh

eib-eg
Beiträge: 796
Registriert: Fr Sep 14, 2018 5:03 pm
Hat sich bedankt: 1674 Mal
Danksagung erhalten: 574 Mal

#8

Beitrag von eib-eg »

Dank ki prompt und Stefans Vorgaben
Code geben sowie den Verlauf dieser Beiträge
Und noch dazu mit dem erklärbar 😉🤣 ist gedacht für läute die weniger Erfahrung haben 😉
Es kann sich jeder selber aussuchen welche Erklärung er will

Noch allen schöne Weihnacht
Und einen guten Rutsch
Ä
Aber nicht auf der Straße 😉🤣🤣
TW 2600_99 seit 1.1.2018 / VPN zu

StefanW
Elaborated Networks
Elaborated Networks
Beiträge: 11036
Registriert: So Aug 12, 2018 9:27 am
Wohnort: Frauenneuharting
Hat sich bedankt: 5439 Mal
Danksagung erhalten: 9320 Mal
Kontaktdaten:

#9

Beitrag von StefanW »

Danke sehr Georg, supi.

Würde mir noch wünschen, dass jemand, der das Modul gut kennt, das nochmal gegen checkt.

lg

Stefan
Stefan Werner
Product Owner für Timberwolf Server, 1-Wire und BlitzART
Bitte WIKI lesen. Allg. Support nur im Forum. Bitte keine PN
Zu Preisen, Lizenzen, Garantie, HW-Defekt an service at elabnet dot de

Link zu Impressum und Datenschutzerklärung oben.

Ersteller
Robert_Mini
Beiträge: 3919
Registriert: So Aug 12, 2018 8:44 am
Hat sich bedankt: 1289 Mal
Danksagung erhalten: 2233 Mal

#10

Beitrag von Robert_Mini »

Bin (schon wieder) beeindruckt. Kann keinen Fehler entdecken.
Einziger Verbesserungsvorschlag zu:
Integer am Eingang? Nein, der Eingang Aktiv erwartet ein Bool-Objekt (True/False bzw. 1/0). Wenn du einen Integer-Wert hast, schalte einfach einen „Vergleicher“-Baustein davor.
Aktiviere einfach den Einfangsmodifizierer, so dass Integer nach deinen Vorstellungen in false/true gewandelt wird.
Alternativ kann man bei Integer auch direkt auf den Bool Eingang verknüpfen. 0=false, alles andere=true

Lg
Robert
Zuletzt geändert von Robert_Mini am Fr Dez 26, 2025 6:54 pm, insgesamt 1-mal geändert.
Timberwolf Server 2500 / #117 (VPN offen + reboot nach Rückfrage) / zusätzlich: 3500M/#935, 3500L/#1297
Antworten

Zurück zu „Zusätzliche Logikbausteine“