Navigation

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

    NEWS

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

    • ioBroker goes Matter ... Matter Adapter in Stable

    • Monatsrückblick - April 2025

    S
    • Profile
    • Following 0
    • Followers 0
    • Topics 3
    • Posts 9
    • Best 1
    • Groups 1

    steinejo_io

    @steinejo_io

    4
    Reputation
    23
    Profile views
    9
    Posts
    0
    Followers
    0
    Following
    Joined Last Online

    steinejo_io Follow
    Starter

    Best posts made by steinejo_io

    • Skripten des E-Control Spritpreisrechners

      Hallo die Community,

      habe mir ein wenig die Schnittstelle der e-control für den Spritpreisrechner in Österreich angesehen.
      In der Praxis kann die Plattform nicht wahnsinnig viel aber umso einfacher könnte man die Sachen für VIS oder Alexa2 Sprachausgabe parsen.

      Auf der API Seite der E-Control kann man sich "seine" eigene URL ohne viel Mühe zusammenbasteln.
      https://api.e-control.at/sprit/1.0/doc/index.html?url=https://api.e-control.at/sprit/1.0/api-docs%3Fgroup%3Dpublic-api

      Eigentlich muss man nur noch Längen und Breitengrad recherchieren bspw. auf https://www.latlong.net/ und kann mit Try it Out die URL erstellen.

      Die URL dann einfach in den Parseradapter eintragen - sinnvoller Aktualisierungswert liegt bei ein oder zwei Stunden am Wochenende sogar ein halber Tag! (NICHT BEI 5 Sekunden! ;))

      Name hab ich Spritpreisrechner vergeben - Rolle default - TYP JSON - und auch "Letztes Wert" anhaken dann geht euch euer Skript nicht hops wenn die E-Control mal nicht da ist.

      Dann kann man per Skript bei Änderung durch die Daten durchgehen und die Werte dann wegschreiben.
      Ich habe hier Testweise nach meiner "Stammtankstelle" gesucht und mir einfach einen State mit dem Preis angelegt.

      on({id: "parser.0.Spritpreisrechner"/*Spritpreisrechner*/, change: 'any'}, function(obj)
      {
          var price = "undefiniert"
          var gasStation = JSON.parse(obj.state.val);
          if (gasStation.length === 0) return;
          
          for (index = 0; index < gasStation.length; ++index) {
      
         if (gasStation[index].name == "avanti - Wien Neuhaufenstraße 148") {
              
          price = (gasStation[index].prices[0].amount).toString().replace(".",",");
         
          }
      
          
          }
         setState("javascript.0.Aktueller_Spritpreis"/*Aktueller Spritpreis*/, price);
      });
      

      Die günstigste Tankstelle könnte man sich mit folgender Zeile darstellen

      gasStation[0].name + " " + (gasStation[0].prices[0].amount).toString().replace(".",",") + " €"
      
      

      Ja das Script ist ausbaufähig - aber "It compiles so lets sell it ;)"

      Hoffe man kann meinen Input weiterverwenden

      posted in JavaScript
      S
      steinejo_io

    Latest posts made by steinejo_io

    • Skripten des E-Control Spritpreisrechners

      Hallo die Community,

      habe mir ein wenig die Schnittstelle der e-control für den Spritpreisrechner in Österreich angesehen.
      In der Praxis kann die Plattform nicht wahnsinnig viel aber umso einfacher könnte man die Sachen für VIS oder Alexa2 Sprachausgabe parsen.

      Auf der API Seite der E-Control kann man sich "seine" eigene URL ohne viel Mühe zusammenbasteln.
      https://api.e-control.at/sprit/1.0/doc/index.html?url=https://api.e-control.at/sprit/1.0/api-docs%3Fgroup%3Dpublic-api

      Eigentlich muss man nur noch Längen und Breitengrad recherchieren bspw. auf https://www.latlong.net/ und kann mit Try it Out die URL erstellen.

      Die URL dann einfach in den Parseradapter eintragen - sinnvoller Aktualisierungswert liegt bei ein oder zwei Stunden am Wochenende sogar ein halber Tag! (NICHT BEI 5 Sekunden! ;))

      Name hab ich Spritpreisrechner vergeben - Rolle default - TYP JSON - und auch "Letztes Wert" anhaken dann geht euch euer Skript nicht hops wenn die E-Control mal nicht da ist.

      Dann kann man per Skript bei Änderung durch die Daten durchgehen und die Werte dann wegschreiben.
      Ich habe hier Testweise nach meiner "Stammtankstelle" gesucht und mir einfach einen State mit dem Preis angelegt.

      on({id: "parser.0.Spritpreisrechner"/*Spritpreisrechner*/, change: 'any'}, function(obj)
      {
          var price = "undefiniert"
          var gasStation = JSON.parse(obj.state.val);
          if (gasStation.length === 0) return;
          
          for (index = 0; index < gasStation.length; ++index) {
      
         if (gasStation[index].name == "avanti - Wien Neuhaufenstraße 148") {
              
          price = (gasStation[index].prices[0].amount).toString().replace(".",",");
         
          }
      
          
          }
         setState("javascript.0.Aktueller_Spritpreis"/*Aktueller Spritpreis*/, price);
      });
      

      Die günstigste Tankstelle könnte man sich mit folgender Zeile darstellen

      gasStation[0].name + " " + (gasStation[0].prices[0].amount).toString().replace(".",",") + " €"
      
      

      Ja das Script ist ausbaufähig - aber "It compiles so lets sell it ;)"

      Hoffe man kann meinen Input weiterverwenden

      posted in JavaScript
      S
      steinejo_io
    • RE: Custom Skill Fensterkontakte - Fenster offen Abfrage

      Verlinkst du evtl. den zugehörigen Thread - viele Wege führen nach Rom - und so viel Arbeit wars jetzt auch nicht 😉

      posted in Praktische Anwendungen (Showcase)
      S
      steinejo_io
    • Custom Skill Fensterkontakte - Fenster offen Abfrage

      Hallo Leute,

      habe mich über die Weihnachtsfeiertage mit dem Thema Custom Skill und Fensterkontakte auseinandergesetzt und möchte meine Erfahrungen ein wenig teilen.

      Der Custom Skill macht eigentlich nichts anderes als ein per text2command hinterlegtes Kommando auszführen - in dem Fall die Frage nach Fenster offen!? - gibt den Variableninhalt eines per Skript generierten Textes aus.

      5006_screentext2command.png

      Dann habe ich ein Script mit dem Zusammenstoppeln des Strings (eigener Datenpunkt) angelegt - das ganze mache ich zyklisch - könnte man natürlich schöner mit Eventtriggern machen aber sei es drum.

      Im Normalfall sind alle Fenster geschlossen.

      Sobald ein Fenster geöffnet wird schreibt das Script wo es geöffnet ist - (vorsicht hab eine Mischlung aus HMIP (rpc1) und HM Fensterkontakten (rpc0)

      Am Ende des Skript baue ich noch bei mehreren Fenstern ein und vor dem letzten Fenster ein und schon plappert mir Alexa auf die Frage ob Fenster offen sind eine Antwort.

      Aus "legacy" Gründen ist das Script eigentlich ein globales in dem eine Function definiert ist - theoretisch könnte man das ganze natürlich gleich in einen Cron einbauen.

      
      function PruefeFenster() {
        var FensterStatus = "Alle Fenster sind geschlossen";
        var FensterStatusOffenWo = "";
        var FensterOffenCount = 0;
        var lastDelimiter = 0;
      
        if (getState("hm-rpc.1.BLA1.1.STATE"/*HmIP-SWDM BLA1:1.STATE*/).val === 1) {
          FensterStatusOffenWo += "in der Küche, ";
          FensterOffenCount += 1;
      
        }
      
          if (getState("hm-rpc.1.BLA2.1.STATE"/*HmIP-SWDM BLA2:1.STATE*/).val === 1) {
      
          FensterStatusOffenWo += "im Ankleidezimmer, ";
          FensterOffenCount += 1;
        }
      
          if (getState("hm-rpc.1.BLA3.1.STATE"/*HmIP-SWDM BLA3:1.STATE*/).val === 1) {
      
          FensterStatusOffenWo += "im Schlafzimmer, ";
          FensterOffenCount += 1;
      
        }
      
            if (getState("hm-rpc.0.BLA4.1.STATE"/*HmIP-SWDM BLA4:1.STATE*/).val === true) {
      
          FensterStatusOffenWo += "in Christas Arbeitszimmer, ";
          FensterOffenCount += 1;
      
        }
      
            if (getState("hm-rpc.0.BLA5.1.STATE"/*HmIP-SWDM BLA5:1.STATE*/).val === true) {
      
          FensterStatusOffenWo += "im Wohnzimmer, ";
          FensterOffenCount += 1;
      
        }
      
            if (getState("hm-rpc.0.BLA6.1.STATE"/*BLA6.STATE*/).val === true) {
      
          FensterStatusOffenWo += "in Jörgs Arbeitszimmer, ";
          FensterOffenCount += 1;
      
        }
      
         if (FensterOffenCount > 0) {
             FensterStatus = "Fenster ";
      
           //wenn mehrere Fenster offen sind will ich grammatikalisch Richtig ein und einfügen.
              if (FensterOffenCount > 1) {
                 lastDelimiter =  FensterStatusOffenWo.lastIndexOf(",");
      
                 lastDelimiter =   FensterStatusOffenWo.substr(0, lastDelimiter).lastIndexOf(",");
      
                 var replacement = " und ";
      
                FensterStatusOffenWo = FensterStatusOffenWo.substr(0, lastDelimiter) + " und " + FensterStatusOffenWo.substr(lastDelimiter + 1, FensterStatusOffenWo.length) ;
      
              }   
      
               FensterStatus += FensterStatusOffenWo;
               FensterStatus += " offen" ;
         }
         setState("javascript.0.FensterOffenTextAntwort"/*FensterOffenTextAntwort*/, FensterStatus);
      
      }
      
      posted in Praktische Anwendungen (Showcase)
      S
      steinejo_io
    • RE: Iot Adapter HM/HMIP Heizungsgruppen

      Hi, das Problem bei dir liegt am rpc adapter den kannst du auf HM, HMIP und Virtuelle Geräte konfigurieren. Du brauchst eine zusätzliche Instanz des rpc Adapter für die virtuellen Geräte = Gruppen.

      Mein Problem bestand darin dass die Datenpunkte unter dem virtuellen Gerät nicht benannt waren.

      Lg

      posted in ioBroker Allgemein
      S
      steinejo_io
    • RE: Iot Adapter HM/HMIP Heizungsgruppen

      Jetzt bin ich dahintergekommen - im rpc Adapter wird bei den Gruppen bei den States keine Bezeichnung ergänzt - der IOT Adapter verweigert daraufhin die Zuweisung weil es keinen Namen gibt - wenn ich einen Namen eingebe tauchen diese dann rauch richtig auf.

      Done!

      posted in ioBroker Allgemein
      S
      steinejo_io
    • RE: Iot Adapter HM/HMIP Heizungsgruppen

      Habe jetzt so weit nochmal getestet - auch nach einer kompletten Neuinstallation des Adapters klappt die Einbindung von Heizungsgruppen leider nicht. Bin mittlerweile etwas ratlos.

      posted in ioBroker Allgemein
      S
      steinejo_io
    • Iot Adapter HM/HMIP Heizungsgruppen

      Hallo,

      bin mittlerweile umgestiegen auf den IOT Adapter - was so weit ohne große Probleme funktioniert - Dank an Bluefox!

      Ich schaffe es allerdings nicht meine Heizkörpergruppen als Smart Device einzufügen.

      In meinem Fall kommt versuche ich die Temperatur via hm-rpc.2.INT0000001.1.SET_TEMPERATURE als Smart Device hinzuzufügen.

      Es kommt kein Fehler aber der Eintrag wird nicht erzeugt.

      Alle anderen States aus rpc1 und rpc0 kann ich Problemlos einfügen.

      Im Cloud Adapter habe ich es genau so gemacht - dort lies sich das Smart Device ohne Probleme anlegen.

      Auch über den Umweg der Aufzählungen kommt nix rein.

      Any Ideas welcome

      posted in ioBroker Allgemein
      S
      steinejo_io
    • RE: Probleme aus "Weihnachtsaktion ioBroker.iot Service!"

      @southparkler:

      Bei mir läuft wieder alles, musst aber leider bei allenRoutinen in der Alexa App nochmal die Geräte neu eintragen. Erst dann sind die wieder gelaufen. `

      Ich scheitere hier nur an den Heizungsgruppen - Admin ist aktuell auf FF und Chrome zeigt sich das gleiche Verhalten!?

      posted in ioBroker Allgemein
      S
      steinejo_io
    • RE: Probleme aus "Weihnachtsaktion ioBroker.iot Service!"

      Hallo, beim mir hat das mit der Anleitung wunderbar geklappt.

      Gehe ich jetzt richtig in der Annahme dass ich direkt mit einem AWS spreche und nicht mehr über eure Hosts?

      Insoferne ist bei mir alles grün - ich habe derzeit das Problem dass der iot Adapter kein manuell hinzugefügtes Smart Device (in dem Fall die Set_Temperature) von meinen Heizungsgruppen hinzufügt?

      Andere Devices wie bspw. Lichtaktoren gehen ohne Probleme manuell hinzuzufügen - kann das jemand nachvollziehen?

      posted in ioBroker Allgemein
      S
      steinejo_io
    Community
    Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen
    The ioBroker Community 2014-2023
    logo