Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. UlliJ

    NEWS

    • ioBroker@Smart Living Forum Solingen, 14.06. - Agenda added

    • ioBroker goes Matter ... Matter Adapter in Stable

    • Monatsrückblick - April 2025

    U
    • Profile
    • Following 0
    • Followers 0
    • Topics 2
    • Posts 266
    • Best 42
    • Groups 2

    UlliJ

    @UlliJ

    ich bin übrigens nicht perfekt und ich arbeite auch nicht daran!

    57
    Reputation
    57
    Profile views
    266
    Posts
    0
    Followers
    0
    Following
    Joined Last Online

    UlliJ Follow
    Pro Starter

    Best posts made by UlliJ

    • RE: Zeigt her eure Vis2

      es ist etwas Arbeit aber die Seite mit der Energieübersicht ist soweit fertig...bis einem etwas neues einfällt.

      a39c346c-1b6b-487e-bdb6-4e806f24d796-image.png
      Edit: Damit es nicht so langweilig ist mit Animation für die Batterie (beim Entladen andersrum) und die Energieflüsse zwischen den einzelnen Teilen
      anibatt.gif

      Diagramme gehen auch
      fa653fb5-98ca-49d6-9359-19a0870ceb1a-image.png
      und der Rest, wie Zeit und Laune ist. Vis1 funktioniert ja parallel

      posted in Visualisierung
      U
      UlliJ
    • RE: Ölheizung für Luftwärmepumpenbetrieb testen?

      @dieter_p
      Hi,
      habe im Oktober '20 mit folgender Ausgangslage von Öl auf Luft-Wasser WP umgebaut:
      190m², Baujahr 1961, Fenster, Dach wärmetechnisch saniert in 2002, Fassade 2-schalig mit 5cm Luftschicht wie in Norddeutschland zu der Zeit üblich, keine Fußbodenerwärmung, Ölbrenner BJ 2002 mit 18kW, Hygienespeicher zur WW-Versorgung ebenfalls BJ 2002

      Ergänzend: PV Anlage mit 9,2kWp + Speicher. Bis auf den HK im Büro keine Umbauten an Heizkörpern

      Fazit nach dem 2. Winter: Funktioniert uneingeschränkt ... und das Haus ist CO2 frei. Die Elektroheizung der WP wurde nur bei Inbetriebnahme einmal verwendet und ist seitdem deaktiviert.

      Ob das im Einzelfall funktioniert oder nicht kann nicht pauschal beantwortet werden und leider haben die Heizungsbauer beim Thema Wärmepumpentechnik wissenstechnisch Nachholbedarf. Bei mir hat das Projekt 2 Jahre Vorlaufzeit gehabt um aus Gas, Brennstoffzelle, Hybridgeräten etc. etwas zukunftsfähiges auszuwählen. U.a. auch den für mich richtigen Heizungsbauer.

      Richtig ist, das bei 55°C die Wärmepumpen mit dem aktuell verbreitet eingesetztem Kältemittel (R410a) am Ende sind und darüber elektrisch zuheizen. Daher sinkt die Effizienz oder vielmehr das Verhältnis "thermisch abgegebene Leistung/elektrisch aufgenommener Leistung". R410a ist wegen seinem hohen GWP (1730) imho nicht mehr zeitgemäß.

      Falsch ist, daß es generell gilt! Seit ein paar Jahren gibt es Wärmepumpenhersteller, und werden mehr, die das etwas anspuchsvollere R290 (Propan), GWP=3, einsetzen. Anspruchsvoller, da der Gasdruck am Verdichterausgang höher ist und somit der Kältemittelkreislauf insgesamt höheren Gaskräften ausgesetzt ist. Weiter ist Propan leicht entflammbar, daher darf das Gerät nicht in geschlossenen Räumen aufgestellt werden. Vorteil ist das mögliche, höhere Temperaturniveau am Kondensator und somit am Wärmetauscher zum Heizkreis.

      Die Temperaturen von VL & RL alleine helfen Dir noch nicht. Eine weitere Frage ist, wieviel Leistung Dein Heizkreis kontinuierlich benötigt? Erst wenn die WP das nicht dauerhaft liefern kann wird es im Haus kälter aber nicht zwingend kalt.
      Thermische Energie von aussen wird nur zum Abtauen des Verdampfers benötigt. Das kann entweder der Heizkreis sein oder ein kleiner, seperater Puffer. Wenn alle Ventile im HK zu sind funktioniert das Abtauen nicht!

      Schau doch mal in Deinen Temperaturaufzeichnungen, wie oft und lang die VL Temperatur über 55°C war. Die erforderliche Wärmeleistung kannst Du näherungsweise über die Laufzeiten des Ölbrenners und dessen Düsenbestückung (=Ölverbrauch/Zeit) abschätzen.

      Das Projekt ist nicht hoffnungslos, die aktuelle Förderung in D von bis zu 45% bringt das ganze in eine ähnliche Größenordnung die für einen Umbau auf Gas fällig wäre. Und einen WW-Speicher kann man durch einen Hygienespeicher ersetzen, die >60°C im VL für WW Aufbereitung fallen damit auch weg. Wobei R290 das auch kann. Der COP sinkt etwas, aber das auch nur 1x pro Woche für 1 Stunde.
      VG

      posted in Off Topic
      U
      UlliJ
    • RE: Object Max Wert lässt setValue Wert nicht zu

      @mcm1957

      habe zwar den Kühlmodus nicht, nutze auch den Adapter nicht (ist jedoch noch installiert) aber trotzdem mal ein log angehängt.

      Habe dem Adapter vor dem Start den Objektbaum gelöscht. Zu Beginn kommt die Konfiguration der Anlage vom Portalserver

      20240819 konfig smartset.json

      Bei einzelnen Werten mit Auswahlmöglichkeit oder auch mehreren States, z.B. ID 27005000001 (aktueller Betriebsstatus des Heizgerätes) werden die min/max Werte vom Portal mitgeliefert.

      {"ValueId":27005000001,"SortId":4826,"SubBundleId":0,"ParameterId":27005000001,"IsReadOnly":true,"NoDataPoint":false,"IsExpertProtectable":false,"Name":"Betriebsart Heizgerät","Group":"410_Einstellungen und Anzeigen","ProtGrp":"HG <1>","ControlType":1,"Value":"15","ValueState":1,"HasDependentParameter":false,"ListItems":[{"Value":"0","DisplayText":"ODU Test","IsSelectable":true,"HighlightIfSelected":false},{"Value":"1","DisplayText":"Test","IsSelectable":true,"HighlightIfSelected":false},{"Value":"2","DisplayText":"Frostschutz HK","IsSelectable":true,"HighlightIfSelected":false},{"Value":"3","DisplayText":"Frostschutz Warmwasser","IsSelectable":true,"HighlightIfSelected":false},{"Value":"4","DisplayText":"Durchfluss gering","IsSelectable":true,"HighlightIfSelected":false},{"Value":"5","DisplayText":"Vorwärmung","IsSelectable":true,"HighlightIfSelected":false},{"Value":"6","DisplayText":"Abtaubetrieb","IsSelectable":true,"HighlightIfSelected":false},{"Value":"7","DisplayText":"Antilegionellenfunktion","IsSelectable":true,"HighlightIfSelected":false},{"Value":"8","DisplayText":"Warmwasser","IsSelectable":true,"HighlightIfSelected":false},{"Value":"9","DisplayText":"WW-Nachlauf","IsSelectable":true,"HighlightIfSelected":false},{"Value":"10","DisplayText":"Heizbetrieb","IsSelectable":true,"HighlightIfSelected":false},{"Value":"11","DisplayText":"HZ-Nachlauf","IsSelectable":true,"HighlightIfSelected":false},{"Value":"12","DisplayText":"Aktive Kühlung","IsSelectable":true,"HighlightIfSelected":false},{"Value":"13","DisplayText":"Kaskade","IsSelectable":true,"HighlightIfSelected":false},{"Value":"14","DisplayText":"GLT","IsSelectable":true,"HighlightIfSelected":false},{"Value":"15","DisplayText":"Standby","IsSelectable":true,"HighlightIfSelected":false},{"Value":"16","DisplayText":"Pump Down","IsSelectable":true,"HighlightIfSelected":false},{"Value":"17","DisplayText":"Nachlauf K","IsSelectable":true,"HighlightIfSelected":false},{"Value":"18","DisplayText":"Undefiniert","IsSelectable":true,"HighlightIfSelected":false},{"Value":"19","DisplayText":"Pool","IsSelectable":true,"HighlightIfSelected":false}],"MinValueCondition":"0","MaxValueCondition":"19","MinValue":0,"MaxValue":19,"TileParameterTagType":1}
      

      Das ganze log hier noch als file (Autorisierung und token entfernt)
      20240819 startup log smartset.json

      Aus meiner Sicht ist der Fehler auf der Portalseite. Da werden die falschen Grenzwerte geliefert. Betroffene könnten mal im Portal direkt versuchen den Wert umzustellen. Steht er da überhaupt zur Verfügung??? Dann sollte die Konfiguration der Anlage im Heizraum überprüft werden. Schließlich kommen die Daten vom ISM7 in der Heizung.
      Mangels Kühlmodus hier die Betriebsart der Heizung als Beispiel
      d9d0b9c2-2642-4197-87b5-bf3efb942651-image.png

      Wenn es da geht, vielleicht mal den Wolf support darauf ansetzen.

      Hoffe das hilft bei der weiteren Analyse
      VG

      posted in Skripten / Logik
      U
      UlliJ
    • RE: Kühlschrank Thermostat umbauen / Smart machen

      @ilovegym sagte in Kühlschrank Thermostat umbauen / Smart machen:

      Der Verdampfer ist das hinten innen im Kuehlschrank, dort wird das durch den Druck des Verdichters(Kompressors) verfluessigte Kaeltemittel durch die Waerme im inneren des Kuehlschranks zum verdampfen gebracht.
      Aggregatszustand aendert sich, das Kaeltemittel dehnt sich aus und kommt in den Verfluessiger hinten aussen am Kuehlschrank, wo es die Waerme abgibt und sich wieder abkuehlt, durch den Verdichter laeuft, wieder komprimiert wird

      darf ich das etwas ergänzen? zum Teil OT
      der Verdampfer ist das hinten innen im Kühlschrank wo flüssiges Kältemittel verdampft (Isobutan/R600a hat einen Siedepunkt von -12°C) und dem Innenraum dadurch Energie entzieht. Der Verdichter saugt dieses Gas an, erhöht Druck und Temperatur, schiebt das in den Verflüssiger. Im Verflüssiger, hoher Druck und eingangs auch hohe Temperatur, wird das flüssige Kältemittel zunächst abgekühlt (Raum ist kälter als der Verflüssiger). Am Ausgang des Verflüssigers sitzt die Kapillare, hier wird das Gemisch aus Gas und teilweise kondensiertem Kältemittel entspannt (Druck gering und Temperatur niedrig) und geht damit vollständig in den flüssigen Zustand über... im Verdampfer geht das Spiel dann wieder von vorne los.

      Die Verdichter sind zum pumpen von Gas gedacht. Wenn flüssiges Kältemittel angesaugt wird werden die dünnen Ventilplättchen der Saugseite beim komprimieren verformt und damit zerstört (wird Flüssigkeitsschlag genannt). Die Abstimmung der Wärmetauscherflächen, Kältemittelmenge, Kapillare, Größe des Verdichters und Klimazone ist daher wichtig.
      Der Verdichter selbst ist eine Kolbenpumpe mit kleinem 1~Asynchronmotor mit Haupt- und Hilfswicklung. Die Hilfswicklung erzeugt durch die Anordnung im Wicklungspaket das Drehfeld um ein Startmoment zu generieren. Zwischen Thermostat und Motor sitzt ein PTC der die Hilfswicklung im Betrieb weg schaltet. Ist der Verdichter gestartet, wird der PTC warm und schaltet die Hilfswicklung bei Temperatur x aus um Energie zu sparen. Ist die Temperatur am Thermostat erreicht wird der Verdichter ausgeschaltet. Würde man jetzt den Stecker aus der Steckdose ziehen und wieder rein stecken passiert zunächst mal: nix. Der PTC ist noch zu warm, die Hilfswicklung ist ausgeschaltet und der Motor hat kein Startmoment. Gleichzeitig kann während des Abkühlens des PTC der Kältekreis den Druck im Verflüssiger über die Kapillare abbauen. Somit hat der Verdichter beim nächsten Einschalten keinen oder nur geringen Gegendruck...wenn denn alles richtig ausgelegt ist und nicht defekt oder gar undicht.

      Die Geschichte mit dem PTC gilt nur für ungeregelte Verdichter. Es gibt auch Schaltungen mit Relais am Verdichter, aber für Haushaltskühlschränke ist der PTC aus Kostengründen eigentlich Standard.

      @bananajoe sagte in Kühlschrank Thermostat umbauen / Smart machen:

      @ilovegym ah, danke, der Fühler sitzt also in dem Bereich wo die Kälte erzeugt wird.
      Ich habe eine Zwangspause von 15 Minuten nach dem Schalten eingebaut, die Positionierung des Temperatursensors wird noch optimiert.

      Wenn er immer einschaltet dann gut. Falls nicht ist der PTC oder der Thermostat schuld

      posted in Off Topic
      U
      UlliJ
    • RE: Kühlschrank Thermostat umbauen / Smart machen

      @bananajoe sagte in Kühlschrank Thermostat umbauen / Smart machen:

      Wenn Ihr euch die Grafiken von mir anseht, das sieht man das der Kühlschrank immer so mit 70 bis 80 Watt loslegt um dann nach kurzer Zeit sich auf 60 bis 62 Watt einzupendeln. Im ersten Moment legt der - relativ - laut los um dann in ein nicht störendes brummen überzugehen.

      na ja, weiter oben bereits erwähnt

      1. anfangs ist die Hilfswicklung zum Start des Kompressors aktiv. Das ist ein relativ dicker Draht -> Strom im Vergleich zur Hauptwicklung groß. Wenn der Motor dreht wird der PTC warm und damit hochohmig, die Hilfswicklung wird überbrückt -> Stromaufnahme sinkt
      2. parallel muss der Verdichter den ausgeglichenen Kältekreis von einem niedrigen Druck und niedriger Temperatur im Verflüssiger (Rückseite des Kühlschranks) auf die stationären Werte pumpen. Der Verflüssiger hat Raumtemperatur beim Einschalten und muss erst einmal erwärmt werden um überhaupt Energie an den Raum abgeben zu können. Das ist Arbeit und braucht auch etwas Zeit.
        Zeitgleich am Verdampfer. Hier wird jetzt Kältemittel vom Verdichter angesaugt, der Verdampfungsprozeß geht los und der Verdampfer kühlt ab -> entzieht dem Innenraum Energie. Die allerdings keine/wenig Energie benötigt.
        zum Krach: die Pumpe ist ein Verdichter mit einem Kolben, die schwingenden Massen sind mit einem Gegengewicht auf der Kurbelwelle ausgeglichen. Das funktioniert eingermaßen in genau einem Punkt für Drehzahl und Druck. Darunter oder darüber schwingt die Pumpe/Motor in seinem Gehäuse. Das Teil steht auf Federn und je nach Qualität der Entkopplung zum Kühlschrank erzeugt das Schwingungen. Weitere Geräuschquelle ist der Verflüssiger auf der Rückseite, der durch Gaspulsation im Kältekreis zum Schwingen angeregt wird...fertig ist der Lautsprecher. Wenn alles seinen Betriebszustand erreicht hat wird das leiser, Gaspulsation ist reduziert und der Verdichter läuft auch rund.
        Wenn die Physik dahinter gewünscht ist, grober qualitativer Ausflug ins Diagramm...
        15af79e6-f3b8-43f4-86c5-25de128cb449-image.png
        der graue Bereich ist der Nassdampfbereich des Kältemittels (Teile sind noch flüssig, nach rechts abnehmend)
        Edit: die blaue Linie ist der Ablauf im Kältekreis.
        links unten, nach rechts: Verdampfung des Kältemittels (am Übergang vom grauen Bereich sind 100% des Kältemittels verdampft), Abkühlen das Innenraums
        rechts der Überhang zum grauen Bereich: Überhitzung des Dampfes um 100% Verdampfung zu gewährleisten
        rechts unten nach rechts oben: pumpen des Kältemittels (Temperatur und Druck nehmen zu)
        rechts oben nach links oben: Abkühlen des Kältemittels im Verflüssiger (Temperatur nimmt ab, Druck bleibt konstant), Energie vom 1. Schritt an den Raum abgeben.
        links oben nach links unten: entspannen in der Kapillare

      Der Energieanteil aus Verdampfung ist die Differenz auf der x-Achse zwischen links unten und rechts unten, der Verdichteranteil ist die x-Achsendifferenz zwischen rechts unten und rechts oben. Je nach Qualität des Verdichters wird der Punkt rechts oben nach links (besser) oder nach rechts (schlechter) verschoben. Die x-Achse ist die Enthalpie in kJ/kg, wenn wir den Massenstrom (kg/Zeit) des Verdichters kennen würden könnten wir den Energiebedarf für das Pumpen bestimmen.
      Der COP ist der Quotient aus Verdampfungsanteil zu Verdichteranteil und hat keine Einheit.
      Wenn Du jetzt also z.B. die Raumtemperatur erhöhst (Sommer) wird die obere Linie nach oben verschoben und der Verdichteranteil wird größer (Energieverbrauch steigt). Gleiches passiert wenn Du den Kühlschranktemperatur niedrig stellst (Absenken der unteren Linie).
      Bei Dir trifft beides zu...sehr kalte Getränke und Aufstellung im Wohnraum.

      Das Diagramm ist unter https://tlk-energy.de/phasendiagramme/druck-enthalpie zu finden.

      Das mit den Gitterablagen ist eine gute Idee um die Konvektion im Schrank zu erleichtern. Der Lüfter, wenn dann überhaupt notwendig, könnte dann ein leiser Axiallüfter vom z.B. PC sein. Die Glasscheiben werden Bruch erleiden wenn Du den Glasschneider ansetzt, ist sehr wahrscheinlich vorgespanntes Einscheiben-Sicherheitsglas.

      alles viel länger als gedacht. Einen schönen Feiertag allerseits😁

      posted in Off Topic
      U
      UlliJ
    • RE: Zeigt her eure Vis2

      @chiller
      so sehen bei mir die ersten Gehversuche aus

      fb37cc8c-a7e4-4ad0-bdcc-756e98c2ffcc-image.png
      348bd045-b8b1-4f0a-977d-218d92705131-image.png
      f04767a5-988d-4031-8842-f8ac97edd372-image.png
      e865ead0-6c92-450f-a6d5-fec169d39fd2-image.png
      unendliche Spielwiese und noch viel zu machen.
      Der intensive Gebrauch der Diagrammfunktionen in den Widgets "Istwert mit Diagramm" oder "Schalter oder Knöpfe" lässt meine InfluxDB reproduzierbar abschmieren. Ist aber ein anderes Ding.

      posted in Visualisierung
      U
      UlliJ
    • RE: EnigmaAdapter Timer-Liste auslesen

      @iobroker_user
      Hi Frank,

      bin auch nicht fit in Blockly und JS... aber üben hilft
      Versuch das mal nachzubauen, die Kommentare sollten erklären was passiert.
      Zeitplan ggf. an Deine Wünsche anpassen.

      4d74a51a-8911-42dd-b79f-358a42aa867a-grafik.png

      Das Json dazu sieht mit einem Timer so aus:
      ba1cb142-d0f6-4a5f-ae5f-5aece2836577-grafik.png

      Viel Vergnügen

      posted in Blockly
      U
      UlliJ
    • RE: Frage : Migrate MySQL nach Influxdb

      Moin zusammen,

      mein erster post in diesem Forum...
      Zu aller erst vielen Dank für diese tolle Plattform und den vielen die mit enormem Aufwand das smarte home nach vorne treiben, tolle Ideen weiter geben, absolut geile Visualisierungen bauen usw. Ich habe bislang selten ein Forum gesehen, in dem so konstruktiv und freundlich miteinander umgegangen wird...weiter so 👍

      Seit ca 2 Jahren betreibe ich Iobroker und habe bislang die Daten zuerst in MySQL und später dann in PostgreSQL abgelegt. Über die Zeit wurden die ganzen Abfragen und Diagramme mit Grafana nach und nach deutlich träger. Nach kurzer Testphase mit InfluxDB war die Frage geklärt😎
      Mit dem Wechsel auf InfluxDB stellt sich die Frage für den nicht Programmierer wie die Daten von alt nach neu...

      Die genannten Lösungen haben bei mir nicht zuverlässig funktioniert also die nächste Klappe

      1. In einem SQL GUI (phpmyadmin, HeidiSQL oder DBeaver, etc) oder auf der SQL-Konsole die zu exportierenden Daten in einem View zur Verfügung stellen
        Der View enthält alles was Influx benötigt
      create view xxx as
      SELECT datapoints.name,
      	ts_number.ack    as "ack",
          (ts_number.q*1.0)       as "q",
      	sources.name as "from",
          (ts_number.val*1.0)     as "value",
          (ts_number.ts*1000000) as "time"
      from ts_number 
      left join datapoints
      on ts_number.id=datapoints.id
      left join sources
      on ts_number._from=sources.id
      where datapoints.id>=70 and datapoints.id<=73 and q=0
      order by ts_number.ts desc;
      

      "xxx" Name des View anpassen
      in der WHERE Klausel die Datenpunkte entsprechend anpassen, einen Bereich wie hier oder auch eine einzelne id
      Für kleine Datenbestände kann die WHERE Klausel auch auf "WHERE q=0" gesetzt werden und über den View in einem Rutsch in Influx übertragen werden.
      Beispiel:
      59cd61b2-aab9-4cf5-8c14-f16d1e595125-grafik.png

      1. Python installieren und ggf. die Zusätze installieren
      • psycopg2 für PostgreSQL bzw. MySQLdb für MySQL
      • influxdb-client und influxdb.
      1. das Skript von Muntazir Fadhel "Easily Migrate Postgres/MySQL Records to InfluxDB" nehmen (modifizierte Variante hier)
      ### MySQL DB info ###
      #import MySQLdb
      #conn = MySQLdb.connect(host="localhost",  # your host, usually localhost
      #                     user="john",         # your username
      #                     passwd="megajonhy",  # your password
      #                     db="jonhydb")        # name of the data base
      
      
      ### PostgreSQL DB info ###
      import psycopg2
      import psycopg2.extras
      
      #####
      # connection data for PostgreSQL
      conn = psycopg2.connect("dbname=xxx user=xxx password=xxx host=xxx.xxx.xxx.xxx port =5432")
      #####
      
      # InfluxDB info #
      from influxdb import InfluxDBClient
      #
      #####connection data for InfluxDB#####
      influxClient = InfluxDBClient(host='xxx.xxx.xxx.xxx', port=8086, username='xxx', password='xxx', database='xxx')
      #####
      #influxClient.delete_database(influx_db_name)
      #influxClient.create_database(influx_db_name)
      
      # dictates how columns will be mapped to key/fields in InfluxDB
      schema = {
          "time_column": "time", # the column that will be used as the time stamp in influx
          "columns_to_fields" : ["ack","q", "from","value"], # columns that will map to fields 
          # "columns_to_tags" : ["",...], # columns that will map to tags
          "table_name_to_measurement" : "name", # table name that will be mapped to measurement
          }
      
      '''
      Generates an collection of influxdb points from the given SQL records
      '''
      def generate_influx_points(records):
          influx_points = []
          for record in records:
              #tags = {}, 
              fields = {}
              #for tag_label in schema['columns_to_tags']:
              #   tags[tag_label] = record[tag_label]
              for field_label in schema['columns_to_fields']:
                  fields[field_label] = record[field_label]
              influx_points.append({
                  "measurement": record[schema['table_name_to_measurement']],
                  #"tags": tags,
                  "time": record[schema['time_column']],
                  "fields": fields
              })
          return influx_points
      
      
      
      # query relational DB for all records
      curr = conn.cursor('cursor', cursor_factory=psycopg2.extras.RealDictCursor)
      # curr = conn.cursor(dictionary=True)
      #####
      # SQL query for PostgreSQL, syntax for MySQL differs
      # query provide desired columns as a view on the sql server
      
      # request data from SQL, adjust ...from <view name>
      curr.execute("Select * from xxx;")
      #####
      row_count = 0
      # process 1000 records at a time
      while True:
          print("Processing row #" + str(row_count + 1))
          selected_rows = curr.fetchmany(1000)
          influxClient.write_points(generate_influx_points(selected_rows))
          row_count += 1000
          if len(selected_rows) < 1000:
              break
      conn.close()
      
      

      Im Skript sind

      • in Zeile 15 die Datenbankverbindung für Postgre anzupassen,
      • in Zeile 22 die Datenbankverbindung für Influx
      • weiter unten Zeile 65 statt xxx ist der Name des Views einzutragen der auf der Datenbank mit der Abfrage aus 1 erzeugt wurde
        curr.execute("Select * from xxx;")
      • der Abschnitt "schema" gibt das mapping der Spalten vor und muss nur angepasst werden wenn die Spaltenbezeichner in der Abfrage aus 1 geändert werden
      • für die MySQL user sind die Verbindungsdaten in den Zeilen 2-6 auskommentiert und an eure Umgebung anzupassen.
      1. In der Python Umgebung das Skript starten...alle 1000 Zeilen/Datensätze kommt eine Fortschrittsmeldung. Während die Abfrage auf der SQL Seite läuft steht da "Processing row # 1"

      Bei umfangreichen Abfragen und je nach Umgebung kann das Ganze ein wenig dauern. Teilweise dauerten bei mir die SQL Abfragen bis zu 20min bei 20Mio Datensätzen (Nuc i3 mit 12GB für die SQL VM unter proxmox). Das Skript läuft zuverlässig und mehrere 10 Mio Datensätze von A nach B wurden migriert. Vielleicht kann es jemand brauchen und nochmals Danke für das tolle Projekt und die hilfsbereiten Menschen hier
      VG
      Ulli

      posted in ioBroker Allgemein
      U
      UlliJ
    • RE: Solarpanels als Vorsatzfassade vor Außendämmung?

      @martinp sagte in Solarpanels als Vorsatzfassade vor Außendämmung?:

      Ob es sich lohnt die Panels quasi als oberste Schicht in die Fassade zu Integrieren um beim Fassadenaufbau bei den abgedeckten Flächen Kosten zu sparen, scheint mir bei den Panelpreisen naheliegend.

      Die Idee scheint auf den ersten Blick gut, aber ich glaube sparen wirst Du nicht wirklich...was zu beweise wäre. Ist ja nur ein Szenario.

      Da gibt es IMHO zwei Herausforderungen:

      1. die normalen Module sind eine Kombi aus Aluminiumrahmen und Glas/Kunststoff und bekanntlich mit Abstand rundherum montiert. Die Befestigung begrenzt normalerweise Spannungen die durch thermische Ausdehnung entstehen. Zwischen Winter und Sommer hat man sicher ein delta T von 50-70°C, eher mehr. Damit verlängern/verkürzen sich die Rahmenprofile je Modul um ein paar mm. Über die Giebelhöhe kommen da dann schon cm zusammen
        damit zu
      2. Dicht von außen: widerspricht Nr. 1.
        Die anderen Funktionen der Fassade wie Dämmung, Dampfdurchlässigkeit etc. lassen wir mal weg.

      Es gibt von Velux ein Indachsystem für PV Anlagen (https://magazin.velux.de/de-DE/artikel/indach-photovoltaik). Ob das Fassadentauglich ist wäre zu klären.
      Ein zweiter Ansatz dafür könnte die Einfassung mit Dichtung von transparenten Modulen sein, wie sie z.B. für Dächer von Wintergärten, Carports oder ähnlichem gemacht wird. Aber die transparenten Module bestehen nur aus Glas und haben daher das Thema zu 1 nicht.
      Wahrscheinlich läuft es auf eine Art vorgehängte, hinterlüftete Fassade hinaus. Dafür braucht es dann wieder spezielle Befestigungssysteme, soll ja wieder 30 Jahre+ halten.
      Offen ist dann immer noch was mit den Teilen der Fassade passiert, die nicht mit Modulen abgedeckt werden können/sollen.

      über den Daumen ... gegenüber einer herkömmlichen Fassade ist da kein Preisvorteil. PV Module können die Fassadenfunktion nicht vollständig übernehmen, dafür sind sie auch nicht gedacht.
      VG

      posted in Off Topic
      U
      UlliJ
    • RE: Wolf Link Home, ISM7i, ISM8i - Was ist nötig?

      @bongo
      das Ism7i=Home Link. Und das brauchst Du für das Portal oder den ism7mqtt.

      Beides gleichzeitig geht nicht. Das ISM7i kann entweder am Portal hängen oder lokal im LAN. Aber Du kannst jederzeit in beide Richtungen wechseln, wenn auf dem ism7i das Portal aktiviert oder eben deaktiviert wird.

      Für die Installation liest Du am Besten hier ganz weit unten (17.12.2023). Das ist die Installation und Einrichtung unter Linux und dürfte die meisten der Fragen schon beantworten. Zweite Quelle ist noch das github repository ism7mqtt.

      Dann solltest Du klar sein wo Du den Dienst installieren willst. Bei mir läuft das als kleiner LXC unter proxmox unabhängig vom iob oder anderen Diensten. Sollte grundsätzlich auch auf der iobroker Maschine laufen können.

      Der Baum der DP's sieht etwas seltsam aus, aber es ist alles da was am Bus der Wolf Steuerung hängt. Vermutlich sind die mqtt topics noch nicht entsprechend aufgesetzt (habe keine Ahnung davon). Geht und gut.

      4a210500-e53a-44d6-8c4e-0ab53b9895c0-image.png

      Steuern geht auch, zumindest bei den wenigen DP's für die ich das bislang gemacht habe (WW Aufbereitung Temperatur setzen und starten, Heizkurve absenken/anheben).

      Das es Login Schwierigkeiten mit dem Wolf-smartset gab ist völlig an mir vorbei gelaufen, da hatte ich schon gewechselt.
      Wenn Du Hilfe brauchst meld Dich einfach. Bin auch nicht der crack, habe das aber nach einem Hinweis relativ schnell am Rennen gehabt.
      VG
      Ulli

      posted in ioBroker Allgemein
      U
      UlliJ

    Latest posts made by UlliJ

    • RE: Wolf Smart Set

      @manrum1
      Zeitgleich Portal und ism7mqtt funktioniert nicht. Entweder oder…

      posted in ioBroker Allgemein
      U
      UlliJ
    • RE: Stromzähler mit Kauf/Verkauf Option in iobroker.

      @andre1de sagte in Stromzähler mit Kauf/Verkauf Option in iobroker.:

      Mein oben beschriebenes Problem konnte ich übrigens durch den Vergleich mit früheren Daten lösen.

      Wenn die Werte für Bezug und Einspeisung aktualisiert bzw. geändert werden geht das auch damit...zumindest grob im Rahmen der zeitlichen Auflösung. Mit Hilfe der aktuellen Leistung geht es halt etwas präziser.

      die Variante von mir war OBIS, vielleicht funktioniert ja auch die Version mit SML ... good luck

      posted in Microcontroller
      U
      UlliJ
    • RE: Stromzähler mit Kauf/Verkauf Option in iobroker.

      @andre1de sagte in Stromzähler mit Kauf/Verkauf Option in iobroker.:

      Ja. Falsche Script vielleicht....

      vielleicht das Skript des Lesekopfes anpassen...
      Habe hier auch einen Logarex, allerdings einen LK13BE. Da sieht das so aus für Leistung, Bezug und Einspeisung

      >D
      >B
      =>sensor53 r
      >M 1
      +1,3,o,16,9600,LK13BE
      
      1,1-0:16.7.0*255(@1,Verbrauch aktuell,W,power,20
      1,1-0:1.8.0*255(@1,Gesamtverbrauch,kWh,total,4
      1,1-0:2.8.0*255(@1,Gesamteinspeisung,kWh,total_out,4
      

      Ansonsten gibt es auf Github mehr dazu https://tasmota.github.io/docs/Smart-Meter-Interface/

      posted in Microcontroller
      U
      UlliJ
    • RE: Erfahrung/kaufempfehlung Wärmebildkamera

      @dieter_p
      habe vor ein paar Jahren eine Voltcraft WBS-220 gekauft.
      IR Auflösung 200x150px, damit gehen Dinge wie Heizkörper, FBH usw ganz gut. Auch ein Schaltschrank oder Verteilung geht, wenn man nah ran geht. Hausfassade im Winter habe ich aufgegeben.
      Die App funktioniert gut, Support habe ich noch nicht benötigt. Bilder können exportiert werden und da sind auch explizit die T-Werte zu jedem Bildpunkt mit enthalten, falls man es braucht. Nachteil bei den Teilen ist das fehlende Bild des Objektes im Hintergrund. Nur mit dem IR Bild wird die Zuordnung schon mal schwierig, wenn man 25 Bilder hintereinander gemacht hat. Aber für irgendetwas muss ja auch der höhere Preis bei den Profigeräten gut sein.

      posted in Off Topic
      U
      UlliJ
    • RE: Unabhängige Energiemanagement-Systeme für Kermi & AlphaESS

      @mediceer sagte in Unabhängige Energiemanagement-Systeme für Kermi & AlphaESS:

      Welchen Dienstleister kannst Du empfehlen?

      Du wirst keinen finden!
      Die Profis im GTA-Bereich haben an Privathäusern kein Interesse bzw. werden sich nicht mit einem "zusammen gewürfeltem" Haufen Hardware beschäftigen wollen. Das Ergebnis ist nicht vorhersehbar und damit Ärger vorprogrammiert.
      Gleiches gilt für die Handwerker der Einzelgewerke, die sich nicht mit der Hardware der anderen beschäftigen wollen oder können.

      Da wirst Du schon selbst aktiv werden müssen und definieren was Du willst. Ob das dann geht, oder wie das geht, oder gar ob das Sinn macht steht auf einem anderen Blatt. Ob man dafür eine KI braucht???

      Deine x-center Regelung hat angeblich eine Power to Heat Funktion...

      posted in Einbindung von Geräten
      U
      UlliJ
    • RE: [erl] XY Grafik Grafana, Heizkurve via csv-Datei darstellen

      @afi sagte in XY Grafik Grafana, Heizkurve via csv-Datei darstellen:

      Eigentlich sieht es am Schluss wie im Bild aus und es ist zusätzliche eine senkrechte Linie von der aktuellen Aussentemperatur zur Heizkurve und vom Schnittpunkt eine waagerechte Linie zur Vorlauftemperatur, natürlich von der aktuellen Heizkurve, Sparfaktor in diesem FAll von -1°C berücksichtigt

      ist hier auch so. Der Pin kennezichnet den aktuellen Betriebspunkt und im Skript ist die Sollwertverschiebung (bei mir =0) berücksichtigt...man könnte dafür noch eine 2. Linie einbauen

      0_userdata.0.0000_Visualisierung.Heizung.chartHeizkurve;

      ist der Datenpunkt in dem das Chart gespeichert ist (Json).

      {"tooltip":{"trigger":"axis"},"xAxis":{"type":"value","name":"Aussen °C","nameLocation":"middle","nameGap":30,"nameTextStyle":{"fontSize":14,"fontWeight":"bold","color":"gray"},"axisLine":{"lineStyle":{"width":2,"color":"gray"}},"splitLine":{"lineStyle":{"type":"dashed","color":"#ccc"}},"axisLabel":{"fontSize":12,"fontWeight":"bold"}},"yAxis":{"type":"value","name":"Vorlauf °C","nameLocation":"middle","nameRotate":90,"nameGap":30,"nameTextStyle":{"fontSize":14,"fontWeight":"bold","color":"gray"},"axisLine":{"lineStyle":{"width":2,"color":"gray"}},"splitLine":{"lineStyle":{"type":"dashed","color":"#ccc"}},"axisLabel":{"fontSize":12,"fontWeight":"bold"}},"series":[{"name":"Linie","type":"line","data":[[-10,58],[20,22]],"markPoint":{"data":[{"coord":[10.5,34],"name":"Pin","symbol":"pin","symbolSize":50,"itemStyle":{"color":"blue"},"label":{"show":true,"formatter":"34","position":"inside","color":"white","fontSize":14}}]}}],"lineStyle":{"color":"blue"},"backgroundColor":"transparent"}
      

      "series.0.data", sind die beiden Punkte für die Linie
      f4660648-5059-4000-a3b4-b9ce7d9918f4-image.png
      "series.0.markPoint.data.0" und "series.0.markPoint.data.0.label" die Eigenschaften der Markierung
      c85941a1-2dab-47a1-8c66-00567358ebe5-image.png

      also die Attribute des Json als Array, die aktuelle Werte benötigen. Der Rest vom Diagramm ist statisch, aber natürlich anpassbar -> Json struktur und Inhalt ansehen.

      Anzeige in der Vis/Vis-2 mit einem HTML basic Iframe
      c55f9641-4860-45f0-a11f-605329b1fa31-image.png

      Näheres dazu siehe Adapter
      Flexcharts

      VG
      Ulli

      posted in Grafana
      U
      UlliJ
    • RE: [erl] XY Grafik Grafana, Heizkurve via csv-Datei darstellen

      @icebear sagte in XY Grafik Grafana, Heizkurve via csv-Datei darstellen:

      @ullij said in XY Grafik Grafana, Heizkurve via csv-Datei darstellen:

      ...und per script die aktuellen Werte schreiben?

      Hättest du denn auch noch das Script dazu?

      so geht's bei mir...
      5b3637fd-9122-4782-89a7-c9649e1b613d-image.png
      8c1b5632-09a8-4ecf-989a-32070b28b6f2-image.png

      <xml xmlns="https://developers.google.com/blockly/xml">
       <variables>
         <variable id="aNQ%N3JtpASs6*=Vt2O~">prefix</variable>
         <variable id=".~gZ:Afrap|7=[?dj%gQ">cop3DScatter</variable>
         <variable id="iJ^@~c7mAz^d#-$pTk@v">DPChart</variable>
         <variable id="G;11X4@MO}5d2r!iGS*Z">StartpunktHeizkurve</variable>
         <variable id=":IXs?V34J=WfE!4:t.yI">EndpunktHeizkurve</variable>
         <variable id="l1aa)l1Ld{S/g)}.!fFD">VerschiebungSollwert</variable>
         <variable id="p+P)q=JzpP7fNi^=]EC!">VLTempcalc</variable>
         <variable id=";NaSlSFU?oQwC*kJ`y)T">AussenTemp</variable>
         <variable id="eOgf3roqON[T)JeZ^]/K">txtHeatingCurve</variable>
         <variable id="`Zm=ma$;d6Q685p^h])f">objHeatingCurve</variable>
       </variables>
       <block type="comment" id="kM9L1|sPO9V*54DSgY-1" x="1063" y="-1262">
         <field name="COMMENT">3D chart Wärmepumpe</field>
         <next>
           <block type="variables_set" id="|q.^7-B/*}u}O@8T;46/">
             <field name="VAR" id=".~gZ:Afrap|7=[?dj%gQ">cop3DScatter</field>
             <value name="VALUE">
               <block type="get_value" id="d(V.nlk6X-Hp*)sDmOC?">
                 <field name="ATTR">val</field>
                 <field name="OID">0_userdata.0.0000_Visualisierung.Heizung.copnetz</field>
               </block>
             </value>
           </block>
         </next>
       </block>
       <block type="variables_set" id="2e=caFBEhso4NoA($?%{" x="113" y="-1187">
         <field name="VAR" id="aNQ%N3JtpASs6*=Vt2O~">prefix</field>
         <value name="VALUE">
           <block type="text" id="k-bB=Co*!2]29hI@PaOM">
             <field name="TEXT">option=</field>
           </block>
         </value>
         <next>
           <block type="variables_set" id=".?gWlKfGQgme-vf|3VWA">
             <field name="VAR" id="iJ^@~c7mAz^d#-$pTk@v">DPChart</field>
             <value name="VALUE">
               <block type="field_oid" id="s]hKmrxk%HDUHae8}JQi">
                 <field name="oid">0_userdata.0.0000_Visualisierung.Heizung.chartHeizkurve</field>
               </block>
             </value>
             <next>
               <block type="debug" id="o,s^WX]?DaC@3lgqPzcJ" collapsed="true" disabled="true">
                 <field name="Severity">info</field>
                 <value name="TEXT">
                   <shadow type="text" id="J$#G5XQ]IWwS-oexQzhM">
                     <field name="TEXT">test</field>
                   </shadow>
                   <block type="variables_get" id=";3U+PG?GAAdtD`;ay`Mk">
                     <field name="VAR" id="iJ^@~c7mAz^d#-$pTk@v">DPChart</field>
                   </block>
                 </value>
                 <next>
                   <block type="on_ext" id="pg%{LxXoSgcv,1.QT#vC">
                     <mutation xmlns="http://www.w3.org/1999/xhtml" items="1"></mutation>
                     <field name="CONDITION">ne</field>
                     <field name="ACK_CONDITION"></field>
                     <value name="OID0">
                       <shadow type="field_oid" id="hnk?~uhf%9!}n;$.j)v[">
                         <field name="oid">alias.0.1000_Heizung.Klima.AussenTemperatur</field>
                       </shadow>
                     </value>
                     <statement name="STATEMENT">
                       <block type="comment" id="h%ZZ.LzYN~`cX|c?E4_,">
                         <field name="COMMENT">2D Heizkurve</field>
                         <next>
                           <block type="comment" id="!gz~#Pcg7Rk#vr~rrWz6">
                             <field name="COMMENT">aktuelle Werte aus notwendigen DP's holen</field>
                             <next>
                               <block type="variables_set" id="g[O2}5w9,nJSs^=wjJv^">
                                 <field name="VAR" id="G;11X4@MO}5d2r!iGS*Z">StartpunktHeizkurve</field>
                                 <value name="VALUE">
                                   <block type="lists_create_with" id="|dQ.=X+HO6arHMO4%(pz">
                                     <mutation items="2"></mutation>
                                     <value name="ADD0">
                                       <block type="get_value" id="sr^xL^Y9~b|okZW`j8o0">
                                         <field name="ATTR">val</field>
                                         <field name="OID">alias.0.1000_Heizung.WP.HeizkurveNormTemperatur</field>
                                       </block>
                                     </value>
                                     <value name="ADD1">
                                       <block type="get_value" id="qe99dbA5[h]/7_jFeoEj">
                                         <field name="ATTR">val</field>
                                         <field name="OID">alias.0.1000_Heizung.WP.HeizkurveVLTemperatur</field>
                                       </block>
                                     </value>
                                   </block>
                                 </value>
                                 <next>
                                   <block type="variables_set" id="-LPu;6OrRq-_6g3V:|ZX">
                                     <field name="VAR" id=":IXs?V34J=WfE!4:t.yI">EndpunktHeizkurve</field>
                                     <value name="VALUE">
                                       <block type="lists_create_with" id=")XEG7|5Y~vs$SG.)+,C#">
                                         <mutation items="2"></mutation>
                                         <value name="ADD0">
                                           <block type="get_value" id="QzCv|AD}VPUeynlDH9%r">
                                             <field name="ATTR">val</field>
                                             <field name="OID">alias.0.1000_Heizung.WP.HeizkurveStartTemperatur</field>
                                           </block>
                                         </value>
                                         <value name="ADD1">
                                           <block type="get_value" id="yZ|y;w7oS0X{!4]Uf)Y!">
                                             <field name="ATTR">val</field>
                                             <field name="OID">alias.0.1000_Heizung.WP.HeizkurveSockelTemperatur</field>
                                           </block>
                                         </value>
                                       </block>
                                     </value>
                                     <next>
                                       <block type="variables_set" id="s6`QX?^oUjT_::f)|}WL">
                                         <field name="VAR" id="l1aa)l1Ld{S/g)}.!fFD">VerschiebungSollwert</field>
                                         <value name="VALUE">
                                           <block type="get_value" id="NPBbV3z?(r;6,LCZ;Uv$">
                                             <field name="ATTR">val</field>
                                             <field name="OID">alias.0.1000_Heizung.Mischer.HeizungSWKorrektur</field>
                                           </block>
                                         </value>
                                         <next>
                                           <block type="variables_set" id="np)Y?3K3=~11k%=4o(Gd">
                                             <field name="VAR" id="p+P)q=JzpP7fNi^=]EC!">VLTempcalc</field>
                                             <value name="VALUE">
                                               <block type="get_value" id="+oH~5ga/LS0Gh/:dx/!/">
                                                 <field name="ATTR">val</field>
                                                 <field name="OID">0_userdata.0.1000_Heizung.Mischer.VorlaufSollTemperatur</field>
                                               </block>
                                             </value>
                                             <next>
                                               <block type="variables_set" id="dwsmV~k`Eks$b;6;sR?T">
                                                 <field name="VAR" id=";NaSlSFU?oQwC*kJ`y)T">AussenTemp</field>
                                                 <value name="VALUE">
                                                   <block type="on_source" id="iDizSOyIIX+8pL,^Y)@D">
                                                     <field name="ATTR">state.val</field>
                                                   </block>
                                                 </value>
                                                 <next>
                                                   <block type="comment" id="?2^3U4I/qtFZGUI8U^Aj">
                                                     <field name="COMMENT">Chartdefinition holen und &amp;#10;prefix entfernen</field>
                                                     <next>
                                                       <block type="variables_set" id="x8{uab-g+TbsaPv`q!SX">
                                                         <field name="VAR" id="eOgf3roqON[T)JeZ^]/K">txtHeatingCurve</field>
                                                         <value name="VALUE">
                                                           <block type="get_value_var" id="jUA}^aKGxYX;wf,{KsWU">
                                                             <field name="ATTR">val</field>
                                                             <value name="OID">
                                                               <shadow type="field_oid" id="b4+j#S)sV6CX]y`|+fcl">
                                                                 <field name="oid">ID auswählen</field>
                                                               </shadow>
                                                               <block type="variables_get" id="-|l5(#|o%y9sc6{l;~GT">
                                                                 <field name="VAR" id="iJ^@~c7mAz^d#-$pTk@v">DPChart</field>
                                                               </block>
                                                             </value>
                                                           </block>
                                                         </value>
                                                         <next>
                                                           <block type="variables_set" id="^or**NA(!{OXH4fbOQd]">
                                                             <field name="VAR" id="eOgf3roqON[T)JeZ^]/K">txtHeatingCurve</field>
                                                             <value name="VALUE">
                                                               <block type="text_getSubstring" id="|d0:qk8GnXoMYDMfL7YS" inline="false">
                                                                 <mutation at1="true" at2="false"></mutation>
                                                                 <field name="WHERE1">FROM_START</field>
                                                                 <field name="WHERE2">LAST</field>
                                                                 <value name="STRING">
                                                                   <block type="variables_get" id="Up4x!5|}(=`Up+~yendL">
                                                                     <field name="VAR" id="eOgf3roqON[T)JeZ^]/K">txtHeatingCurve</field>
                                                                   </block>
                                                                 </value>
                                                                 <value name="AT1">
                                                                   <block type="text_indexOf" id="tI9JeIAV+WT+Bdi}wWNI" inline="false">
                                                                     <field name="END">FIRST</field>
                                                                     <value name="VALUE">
                                                                       <block type="variables_get" id=";]FI(OCyCn-dwY:P]T{b">
                                                                         <field name="VAR" id="eOgf3roqON[T)JeZ^]/K">txtHeatingCurve</field>
                                                                       </block>
                                                                     </value>
                                                                     <value name="FIND">
                                                                       <shadow type="text" id="078XZ@R323]H)Ny{iI@y">
                                                                         <field name="TEXT">{</field>
                                                                       </shadow>
                                                                     </value>
                                                                   </block>
                                                                 </value>
                                                               </block>
                                                             </value>
                                                             <next>
                                                               <block type="variables_set" id="P`!h,|!Stj*8jO;s.9co">
                                                                 <field name="VAR" id="eOgf3roqON[T)JeZ^]/K">txtHeatingCurve</field>
                                                                 <value name="VALUE">
                                                                   <block type="text_getSubstring" id="IlT}gDf1YFZ^[8J,jb)[" inline="false">
                                                                     <mutation at1="false" at2="true"></mutation>
                                                                     <field name="WHERE1">FIRST</field>
                                                                     <field name="WHERE2">FROM_START</field>
                                                                     <value name="STRING">
                                                                       <block type="variables_get" id="7XiwsLHr:XVr8.4N.[x`">
                                                                         <field name="VAR" id="eOgf3roqON[T)JeZ^]/K">txtHeatingCurve</field>
                                                                       </block>
                                                                     </value>
                                                                     <value name="AT2">
                                                                       <block type="text_indexOf" id="RY2o2.#TMK!^@4hP(t0t" inline="false">
                                                                         <field name="END">LAST</field>
                                                                         <value name="VALUE">
                                                                           <block type="variables_get" id="#%|8t`Y_G%.Vv]CW#l8t">
                                                                             <field name="VAR" id="eOgf3roqON[T)JeZ^]/K">txtHeatingCurve</field>
                                                                           </block>
                                                                         </value>
                                                                         <value name="FIND">
                                                                           <shadow type="text" id="_dsEo?fM.!XeO1NajxMX">
                                                                             <field name="TEXT">}</field>
                                                                           </shadow>
                                                                         </value>
                                                                       </block>
                                                                     </value>
                                                                   </block>
                                                                 </value>
                                                                 <next>
                                                                   <block type="debug" id="6C-INbK2^$oVDT!w4fR0" collapsed="true" disabled="true">
                                                                     <field name="Severity">info</field>
                                                                     <value name="TEXT">
                                                                       <shadow type="text" id="p=fy%*m+zjSD.Dx1R.J{">
                                                                         <field name="TEXT">test</field>
                                                                       </shadow>
                                                                       <block type="variables_get" id="#j,~ntEs1+DH4!!XL_4h">
                                                                         <field name="VAR" id="eOgf3roqON[T)JeZ^]/K">txtHeatingCurve</field>
                                                                       </block>
                                                                     </value>
                                                                     <next>
                                                                       <block type="variables_set" id=".9jQ?J}qsdtX=C+25yOm">
                                                                         <field name="VAR" id="`Zm=ma$;d6Q685p^h])f">objHeatingCurve</field>
                                                                         <value name="VALUE">
                                                                           <block type="convert_json2object" id="g41VEdbrH(Q};GB3{~*1">
                                                                             <value name="VALUE">
                                                                               <block type="variables_get" id="zJ;XL.d81;R7~P`g?Xn.">
                                                                                 <field name="VAR" id="eOgf3roqON[T)JeZ^]/K">txtHeatingCurve</field>
                                                                               </block>
                                                                             </value>
                                                                           </block>
                                                                         </value>
                                                                         <next>
                                                                           <block type="debug" id="yLW0wH|SF8HhFgO4MrCA" collapsed="true" disabled="true">
                                                                             <field name="Severity">info</field>
                                                                             <value name="TEXT">
                                                                               <shadow type="text" id="p=fy%*m+zjSD.Dx1R.J{">
                                                                                 <field name="TEXT">test</field>
                                                                               </shadow>
                                                                               <block type="variables_get" id="7}nU+Y+rV2vQ%gnwZbfp">
                                                                                 <field name="VAR" id="`Zm=ma$;d6Q685p^h])f">objHeatingCurve</field>
                                                                               </block>
                                                                             </value>
                                                                             <next>
                                                                               <block type="comment" id="88MHN5WUvx,A_*I4dW7%">
                                                                                 <field name="COMMENT">Start- und Endpunkt der Linie in der Chartdefinition setzen</field>
                                                                                 <next>
                                                                                   <block type="object_set_attr" id="h?]00:^emb9NX%0N:o/:">
                                                                                     <field name="ATTR">0</field>
                                                                                     <value name="OBJECT">
                                                                                       <block type="get_attr" id="tl2%$wc4WyN#VauN-fPt">
                                                                                         <value name="PATH">
                                                                                           <shadow type="text" id="qg)u{1U5,y[EpgbM}6?9">
                                                                                             <field name="TEXT">series.0.data</field>
                                                                                           </shadow>
                                                                                         </value>
                                                                                         <value name="OBJECT">
                                                                                           <shadow type="get_object" id="x73-Xi{Jnr~ww{aUKc_-">
                                                                                             <field name="OID">Object ID</field>
                                                                                           </shadow>
                                                                                           <block type="variables_get" id="dh5=yARY7$FyI(836uZj">
                                                                                             <field name="VAR" id="`Zm=ma$;d6Q685p^h])f">objHeatingCurve</field>
                                                                                           </block>
                                                                                         </value>
                                                                                       </block>
                                                                                     </value>
                                                                                     <value name="VALUE">
                                                                                       <shadow type="text" id="sQCSglM$u41EB(_usL9@">
                                                                                         <field name="TEXT">value</field>
                                                                                       </shadow>
                                                                                       <block type="variables_get" id="Q$_r~b^t}`L@0WF2d~(u">
                                                                                         <field name="VAR" id="G;11X4@MO}5d2r!iGS*Z">StartpunktHeizkurve</field>
                                                                                       </block>
                                                                                     </value>
                                                                                     <next>
                                                                                       <block type="object_set_attr" id="H2wY{19PHb0J:]vnV[b$">
                                                                                         <field name="ATTR">1</field>
                                                                                         <value name="OBJECT">
                                                                                           <block type="get_attr" id="-:zD].vR0h6^(mOTAc2f">
                                                                                             <value name="PATH">
                                                                                               <shadow type="text" id="u*:F;IC1aCIM9;-1]Yj6">
                                                                                                 <field name="TEXT">series.0.data</field>
                                                                                               </shadow>
                                                                                             </value>
                                                                                             <value name="OBJECT">
                                                                                               <shadow type="get_object" id="x73-Xi{Jnr~ww{aUKc_-">
                                                                                                 <field name="OID">Object ID</field>
                                                                                               </shadow>
                                                                                               <block type="variables_get" id="NS-_.;+V5PJ/NXl%R^JF">
                                                                                                 <field name="VAR" id="`Zm=ma$;d6Q685p^h])f">objHeatingCurve</field>
                                                                                               </block>
                                                                                             </value>
                                                                                           </block>
                                                                                         </value>
                                                                                         <value name="VALUE">
                                                                                           <shadow type="text" id="sQCSglM$u41EB(_usL9@">
                                                                                             <field name="TEXT">value</field>
                                                                                           </shadow>
                                                                                           <block type="variables_get" id="k9DQ`7:8iyC,pTy`#XN?">
                                                                                             <field name="VAR" id=":IXs?V34J=WfE!4:t.yI">EndpunktHeizkurve</field>
                                                                                           </block>
                                                                                         </value>
                                                                                         <next>
                                                                                           <block type="comment" id="?PqE?tfaW^nJ#wf!DJQ;">
                                                                                             <field name="COMMENT">Attribut "markPoint": Koordinaten setzen</field>
                                                                                             <next>
                                                                                               <block type="object_set_attr" id="=hBa~aMArI4H`O(jeL5Z">
                                                                                                 <field name="ATTR">coord</field>
                                                                                                 <value name="OBJECT">
                                                                                                   <block type="get_attr" id="P!J_B7oli4%!eEF@hD7M">
                                                                                                     <value name="PATH">
                                                                                                       <shadow type="text" id="8jBb;:6P]f1R?X%U(r%S">
                                                                                                         <field name="TEXT">series.0.markPoint.data.0</field>
                                                                                                       </shadow>
                                                                                                     </value>
                                                                                                     <value name="OBJECT">
                                                                                                       <shadow type="get_object" id="x73-Xi{Jnr~ww{aUKc_-">
                                                                                                         <field name="OID">Object ID</field>
                                                                                                       </shadow>
                                                                                                       <block type="variables_get" id="1Pr]H}?Znev7SqJj9#~%">
                                                                                                         <field name="VAR" id="`Zm=ma$;d6Q685p^h])f">objHeatingCurve</field>
                                                                                                       </block>
                                                                                                     </value>
                                                                                                   </block>
                                                                                                 </value>
                                                                                                 <value name="VALUE">
                                                                                                   <shadow type="text" id="sQCSglM$u41EB(_usL9@">
                                                                                                     <field name="TEXT">value</field>
                                                                                                   </shadow>
                                                                                                   <block type="lists_create_with" id="|:d7x%y0lv{3_(r3l*AE">
                                                                                                     <mutation items="2"></mutation>
                                                                                                     <value name="ADD0">
                                                                                                       <block type="variables_get" id="JcY`WX$EEMP23IuD{:K3">
                                                                                                         <field name="VAR" id=";NaSlSFU?oQwC*kJ`y)T">AussenTemp</field>
                                                                                                       </block>
                                                                                                     </value>
                                                                                                     <value name="ADD1">
                                                                                                       <block type="math_arithmetic" id="S-)$XxP|wDV86!d5bVof">
                                                                                                         <field name="OP">ADD</field>
                                                                                                         <value name="A">
                                                                                                           <shadow type="math_number" id="L(+Mh`S)0AlvMoaS320;">
                                                                                                             <field name="NUM">1</field>
                                                                                                           </shadow>
                                                                                                           <block type="variables_get" id="jK.R|N$D2Wz7D4sFG.Sm">
                                                                                                             <field name="VAR" id="p+P)q=JzpP7fNi^=]EC!">VLTempcalc</field>
                                                                                                           </block>
                                                                                                         </value>
                                                                                                         <value name="B">
                                                                                                           <shadow type="math_number" id="#YKpotA.7m!c{_)?:0|g">
                                                                                                             <field name="NUM">1</field>
                                                                                                           </shadow>
                                                                                                           <block type="variables_get" id="kGa1naz`iuszE$P%)9|O">
                                                                                                             <field name="VAR" id="l1aa)l1Ld{S/g)}.!fFD">VerschiebungSollwert</field>
                                                                                                           </block>
                                                                                                         </value>
                                                                                                       </block>
                                                                                                     </value>
                                                                                                   </block>
                                                                                                 </value>
                                                                                                 <next>
                                                                                                   <block type="comment" id="p8|RH$RFpu0;ffWs_Ty,">
                                                                                                     <field name="COMMENT">in die Formatierung die aktuelle VL Temp eintragen&amp;#10;(muss als String formatiert werden)</field>
                                                                                                     <next>
                                                                                                       <block type="object_set_attr" id=".md_A5Z+gf5UNcU[HS2+">
                                                                                                         <field name="ATTR">formatter</field>
                                                                                                         <value name="OBJECT">
                                                                                                           <block type="get_attr" id="g.9sDX}vgs]WcDHU6ew.">
                                                                                                             <value name="PATH">
                                                                                                               <shadow type="text" id="w[XD%xO=m=?xY.}qD9pr">
                                                                                                                 <field name="TEXT">series.0.markPoint.data.0.label</field>
                                                                                                               </shadow>
                                                                                                             </value>
                                                                                                             <value name="OBJECT">
                                                                                                               <shadow type="get_object" id="x73-Xi{Jnr~ww{aUKc_-">
                                                                                                                 <field name="OID">Object ID</field>
                                                                                                               </shadow>
                                                                                                               <block type="variables_get" id="#[PRlfy-CySCdhNozf:=">
                                                                                                                 <field name="VAR" id="`Zm=ma$;d6Q685p^h])f">objHeatingCurve</field>
                                                                                                               </block>
                                                                                                             </value>
                                                                                                           </block>
                                                                                                         </value>
                                                                                                         <value name="VALUE">
                                                                                                           <shadow type="text" id="sQCSglM$u41EB(_usL9@">
                                                                                                             <field name="TEXT">value</field>
                                                                                                           </shadow>
                                                                                                           <block type="convert_tostring" id="s3V4d!en7,tbow;%li8%">
                                                                                                             <value name="VALUE">
                                                                                                               <block type="math_arithmetic" id="c[PfZZLLAHp!6J4k,#o,">
                                                                                                                 <field name="OP">ADD</field>
                                                                                                                 <value name="A">
                                                                                                                   <shadow type="math_number" id="L(+Mh`S)0AlvMoaS320;">
                                                                                                                     <field name="NUM">1</field>
                                                                                                                   </shadow>
                                                                                                                   <block type="variables_get" id="2@VY=Z/#)1]jC/#Vijwv">
                                                                                                                     <field name="VAR" id="p+P)q=JzpP7fNi^=]EC!">VLTempcalc</field>
                                                                                                                   </block>
                                                                                                                 </value>
                                                                                                                 <value name="B">
                                                                                                                   <shadow type="math_number" id="#YKpotA.7m!c{_)?:0|g">
                                                                                                                     <field name="NUM">1</field>
                                                                                                                   </shadow>
                                                                                                                   <block type="variables_get" id="boU-/oYe?zCJ.H}vM}8$">
                                                                                                                     <field name="VAR" id="l1aa)l1Ld{S/g)}.!fFD">VerschiebungSollwert</field>
                                                                                                                   </block>
                                                                                                                 </value>
                                                                                                               </block>
                                                                                                             </value>
                                                                                                           </block>
                                                                                                         </value>
                                                                                                         <next>
                                                                                                           <block type="debug" id="EMv!5:QpOt*0lH`KLngN" collapsed="true" disabled="true">
                                                                                                             <field name="Severity">info</field>
                                                                                                             <value name="TEXT">
                                                                                                               <shadow type="text" id="6U:~OP#%E_C{xgkm7!B#">
                                                                                                                 <field name="TEXT">test</field>
                                                                                                               </shadow>
                                                                                                               <block type="get_attr" id="OX5C/mv$gN-}k}d6~_Y)">
                                                                                                                 <value name="PATH">
                                                                                                                   <shadow type="text" id="9t-7+I!!TeW=()F$pg7,">
                                                                                                                     <field name="TEXT">series.0.markPoint.data.0.label</field>
                                                                                                                   </shadow>
                                                                                                                 </value>
                                                                                                                 <value name="OBJECT">
                                                                                                                   <shadow type="get_object" id="x73-Xi{Jnr~ww{aUKc_-">
                                                                                                                     <field name="OID">Object ID</field>
                                                                                                                   </shadow>
                                                                                                                   <block type="variables_get" id="B|J{$eFQ}Kn+m6rp6H{o">
                                                                                                                     <field name="VAR" id="`Zm=ma$;d6Q685p^h])f">objHeatingCurve</field>
                                                                                                                   </block>
                                                                                                                 </value>
                                                                                                               </block>
                                                                                                             </value>
                                                                                                             <next>
                                                                                                               <block type="control_ex" id="o5s93kvC4L0WhA1WMr8x">
                                                                                                                 <field name="TYPE">false</field>
                                                                                                                 <field name="CLEAR_RUNNING">FALSE</field>
                                                                                                                 <value name="OID">
                                                                                                                   <shadow type="field_oid" id="`gyj4_;B^#Je}xA44c5S">
                                                                                                                     <field name="oid">0_userdata.0.0000_Visualisierung.Heizung.chartHeizkurve</field>
                                                                                                                   </shadow>
                                                                                                                   <block type="variables_get" id="Sh}$@~Qg$-YTa3{|g3V!">
                                                                                                                     <field name="VAR" id="iJ^@~c7mAz^d#-$pTk@v">DPChart</field>
                                                                                                                   </block>
                                                                                                                 </value>
                                                                                                                 <value name="VALUE">
                                                                                                                   <shadow type="logic_boolean" id="U!XF=Pk{.1eT8ROljCIi">
                                                                                                                     <field name="BOOL">TRUE</field>
                                                                                                                   </shadow>
                                                                                                                   <block type="text_join" id="V2FHN/m1@Rh:]**W3Ch7">
                                                                                                                     <mutation items="2"></mutation>
                                                                                                                     <value name="ADD0">
                                                                                                                       <block type="variables_get" id="+0#[ZeN4bya*U0Q;`ygr">
                                                                                                                         <field name="VAR" id="aNQ%N3JtpASs6*=Vt2O~">prefix</field>
                                                                                                                       </block>
                                                                                                                     </value>
                                                                                                                     <value name="ADD1">
                                                                                                                       <block type="convert_object2json" id="Xy+d(hPV7kcgFS(v.l@:">
                                                                                                                         <field name="PRETTIFY">FALSE</field>
                                                                                                                         <value name="VALUE">
                                                                                                                           <block type="variables_get" id="jRI4N1*=z%r}Xd`5Mh:#">
                                                                                                                             <field name="VAR" id="`Zm=ma$;d6Q685p^h])f">objHeatingCurve</field>
                                                                                                                           </block>
                                                                                                                         </value>
                                                                                                                       </block>
                                                                                                                     </value>
                                                                                                                   </block>
                                                                                                                 </value>
                                                                                                                 <value name="DELAY_MS">
                                                                                                                   <shadow type="math_number" id="?uM8nDEK-(/*GVlH4pHx">
                                                                                                                     <field name="NUM">0</field>
                                                                                                                   </shadow>
                                                                                                                 </value>
                                                                                                                 <value name="EXPIRE">
                                                                                                                   <shadow type="math_number" id="v!NY_kcVWzB^nWEShSVR">
                                                                                                                     <field name="NUM">0</field>
                                                                                                                   </shadow>
                                                                                                                 </value>
                                                                                                               </block>
                                                                                                             </next>
                                                                                                           </block>
                                                                                                         </next>
                                                                                                       </block>
                                                                                                     </next>
                                                                                                   </block>
                                                                                                 </next>
                                                                                               </block>
                                                                                             </next>
                                                                                           </block>
                                                                                         </next>
                                                                                       </block>
                                                                                     </next>
                                                                                   </block>
                                                                                 </next>
                                                                               </block>
                                                                             </next>
                                                                           </block>
                                                                         </next>
                                                                       </block>
                                                                     </next>
                                                                   </block>
                                                                 </next>
                                                               </block>
                                                             </next>
                                                           </block>
                                                         </next>
                                                       </block>
                                                     </next>
                                                   </block>
                                                 </next>
                                               </block>
                                             </next>
                                           </block>
                                         </next>
                                       </block>
                                     </next>
                                   </block>
                                 </next>
                               </block>
                             </next>
                           </block>
                         </next>
                       </block>
                     </statement>
                   </block>
                 </next>
               </block>
             </next>
           </block>
         </next>
       </block>
      </xml>
      

      posted in Grafana
      U
      UlliJ
    • RE: [erl] XY Grafik Grafana, Heizkurve via csv-Datei darstellen

      @icebear
      da sitze ich selbst noch dran...kann nur mit Blockly

      posted in Grafana
      U
      UlliJ
    • RE: [erl] XY Grafik Grafana, Heizkurve via csv-Datei darstellen

      @afi
      oder ohne Aufzeichnung als Flexchart und per script die aktuellen Werte schreiben?
      4e39c7d3-0b73-4547-8761-ff015cc501c5-image.png

      option = option =  {
       "tooltip": {
         "trigger": "axis"
       },
       "xAxis": {
         "type": "value",
         "name": "Aussen °C",
         "nameLocation": "middle",
         "nameGap": 30,
         "nameTextStyle": {
           "fontSize": 14,
           "fontWeight": "bold",
           "color": "gray"
         },
         "axisLine": {
           "lineStyle": {
             "width": 2, 
             "color": "gray"
           }
         },
         "splitLine": {
           "lineStyle": {
             "type": "dashed", 
             "color": "#ccc"
           }
         },
         "axisLabel": {
           "fontSize": 12,
           "fontWeight": "bold"
         }
       },
       "yAxis": {
         "type": "value",
         "name": "Vorlauf °C",
         "nameLocation": "middle",
         "nameRotate": 90,
         "nameGap": 30,
         "nameTextStyle": {
           "fontSize": 14,
           "fontWeight": "bold",
           "color": "gray"
         },
         "axisLine": {
           "lineStyle": {
             "width": 2, 
             "color": "gray"
           }
         },
         "splitLine": {
           "lineStyle": {
             "type": "dashed", 
             "color": "#ccc"
           }
         },
         "axisLabel": {
           "fontSize": 12,
           "fontWeight": "bold"
         }
       },
       "series": [
         {
           "name": "Linie",
           "type": "line",
           "data": [
             [-10, 55],
             [20, 22]
           ],
           "markPoint": {
             "data": [
               {
                 "coord": [9, 35],
                 "name": "Pin",
                 "symbol": "pin",
                 "symbolSize": 50,
                 "itemStyle": {
                   "color": "blue"
                 },
                 "label": {
                   "show": true,
                   "formatter": "35",
                   "position": "inside",
                   "color": "white",
                   "fontSize": 14
         	  }}
               ]
         }}
             ],
           "lineStyle": {
             "color": "blue"
         },
       "backgroundColor": "transparent"
      };
      

      posted in Grafana
      U
      UlliJ
    • RE: [Gelöst]: autom. Bilderwechsel in einem Button

      @maloross
      ist nicht "die Antwort" für Dich, aber ähnliches Szenario.
      In Vis werden tabellarische Werte zyklisch gewechselt ("Animation"). Die Views liegen alle als view in widget in einem Widget übereinander und die Anzeige wird über die Sichtbarbeit mit einem DP geregelt.
      Einstellung im Widget:
      e13deccc-3f7f-4389-b9fb-c88d8b942bc1-image.png
      a841141f-3288-4003-ab94-cf82b6e36655-image.png

      1. DP um die Sichtbarkeit zu steuern
      2. view für die Anzeige

      dazu noch ein Blockly um den DP zu setzen
      1da23806-7293-464a-a2b5-eda0564652fb-image.png
      Beim wechseln des view sind die Bindings in den Einzelviews teilweise noch nicht aktuell und die Anzeige flackert auch etwas. Daher das "Einblenden" über die opacity in einem weiteren DP mit binding
      d801c2c9-fddc-4e19-a3c9-0e6ca52db42c-Historie.gif
      Das sollte in einem Dialog genau so klappen...

      posted in Blockly
      U
      UlliJ
    Community
    Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen
    The ioBroker Community 2014-2023
    logo