Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Entwicklung
    4. Übersetzungsdictionary für states Namen des b-control Adapters

    NEWS

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

    • ioBroker goes Matter ... Matter Adapter in Stable

    • Monatsrückblick - April 2025

    Übersetzungsdictionary für states Namen des b-control Adapters

    This topic has been deleted. Only users with topic management privileges can see it.
    • H
      Heinzelmaennchen last edited by

      Hallo Zusammen,

      im Rahmen des Umprogrammierens des b-control Adapters stehe ich vor dem Problem, dass die Abfrage aus dem Zählerregister des Gerätes folgendes Ergebnis liefert.
      253_consumption_id0.txt
      wenn ich daraus nun die States anlege, haben diese bspw. den Namen "1-0:1.8.0*255". Nicht so richtig selbsterklärend wie ich meine 😉

      Dabei handelt es sich um eine sog. OBIS-Kennzahl für Strom, die man hier nachlesen kann.
      253_obis-dictionary.txt
      Daher meine Frage:

      1. Könnte man diese "obis-dictionary.txt" dem Adapter als Datei mitgeben und dann im weiteren bei der Erstellung der States dahinein verweisen (Name, unit, englische Übersetzung)?

      2. Ist das überhaupt eine gute Idee, oder sollte man dieses Array besser direkt in die Main.js einbauen?

      Fürs bessere Verständnis hier noch die Main.js. Diese gilt es nun um die "neuen States" aus der consumption Abfrage zu erweitern Die o.a. "consumption id0.txt" ist das Ergebnis der Abfrage des b-control Devices mit der meter_id=0.
      253_main.txt

      Bitte diese Anfrage nicht falsch verstehen. Ich mache das (javascript-Programmierung) hier zum ersten mal. Ich möchte nicht, dass mir jemand eine fertige Lösung baut, sondern ich benötige einfach die Erfahrung derjenigen, die das schon mal gemacht haben bzw. Erfahrungen in Bezug auf Performance oder/und Praktikabilität haben.

      Schonmal jetzt herzlichen Dank für jeden Beitrag / Idee dazu.

      1 Reply Last reply Reply Quote 0
      • Thisoft
        Thisoft last edited by

        Hallo

        Ich denke, es wäre das Beste dieses Dictionary dem Adapter als Datei mitzugeben.

        Das Auslesen sollte dann ungefähr so gehen

        var obisDict=JSON.parse(require('fs').readFileSync('/opt/iobroker/iobroker-data/private/obisdictionary.json').toString());
        	Kennzahl = '1-0:1.8.0*255';
            while(obisDict.length>0){
            Tupel=obisDict.pop();
            if(Tupel.State==Kennzahl){
            	log(Tupel.NameDe);
        	//setze States etc.
            }
            }
        
        

        Dabei musst Du natürlich ggf. noch den Pfad zur Datei anpassen. Die Datei hab ich Dir mal in JSON formatiert:
        250_obisdictionary.json.txt
        Natürlich ist obiger Code nicht getestet. Aber wenn Du schon Adapter schreibst dann solltest Du auch aus meinen bescheidenen JS-Kenntnissen was machen können.

        Ich habe so was in der Form jedenfalls erfolgreich im Einsatz um den prozentualen Füllstand meines Regenwassertanks in die nicht linear davon abhängige Füllmenge umzurechnen.

        Hoffe gehelft zu haben 🙂

        Viele Grüße

        Thilo

        1 Reply Last reply Reply Quote 0
        • H
          Heinzelmaennchen last edited by

          Hallo Thisoft,

          genau das ist es, nach was ich gesucht habe!! Herzlichen Dank für das Beispiel. Da ich ja an der hoffentlich dann für alle einsetzbaren Version eines neuen b-control Adapters arbeite, werde ich Deine json-Formatierte Version der OBIS Kennzahlen in den entsprechenden Adapterordner legen, sodass dann alle darauf zugreifen können.

          Jetzt werde ich mich mal an die Zusammenführung der json Antwort aus dem Gerät mit den Informationen aus dem OBIS.json machen. Mal sehen wie das klappt.

          Herzlichen Dank auf jeden Fall dafür!

          Ich werde hier weiter berichten.

          1 Reply Last reply Reply Quote 0
          • First post
            Last post

          Support us

          ioBroker
          Community Adapters
          Donate

          606
          Online

          31.7k
          Users

          79.8k
          Topics

          1.3m
          Posts

          2
          3
          885
          Loading More Posts
          • Oldest to Newest
          • Newest to Oldest
          • Most Votes
          Reply
          • Reply as topic
          Log in to reply
          Community
          Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen
          The ioBroker Community 2014-2023
          logo