Skip to content
  • Home
  • Recent
  • Tags
  • 0 Unread 0
  • Categories
  • Unreplied
  • Popular
  • GitHub
  • Docu
  • Hilfe
Skins
  • Light
  • Brite
  • Cerulean
  • Cosmo
  • Flatly
  • Journal
  • Litera
  • Lumen
  • Lux
  • Materia
  • Minty
  • Morph
  • Pulse
  • Sandstone
  • Simplex
  • Sketchy
  • Spacelab
  • United
  • Yeti
  • Zephyr
  • Dark
  • Cyborg
  • Darkly
  • Quartz
  • Slate
  • Solar
  • Superhero
  • Vapor

  • Default (No Skin)
  • No Skin
Collapse
ioBroker Logo

Community Forum

donate donate
  1. ioBroker Community Home
  2. Deutsch
  3. Skripten / Logik
  4. [Geloest] Bitte um Hilfe bei Script ccu-> iobroker

NEWS

  • Jahresrückblick 2025 – unser neuer Blogbeitrag ist online! ✨
    BluefoxB
    Bluefox
    17
    1
    2.1k

  • Neuer Blogbeitrag: Monatsrückblick - Dezember 2025 🎄
    BluefoxB
    Bluefox
    13
    1
    927

  • Weihnachtsangebot 2025! 🎄
    BluefoxB
    Bluefox
    25
    1
    2.2k

[Geloest] Bitte um Hilfe bei Script ccu-> iobroker

Scheduled Pinned Locked Moved Skripten / Logik
25 Posts 3 Posters 5.0k Views
  • Oldest to Newest
  • Newest to Oldest
  • Most Votes
Reply
  • Reply as topic
Log in to reply
This topic has been deleted. Only users with topic management privileges can see it.
  • paul53P Offline
    paul53P Offline
    paul53
    wrote on last edited by
    #4

    Hier der Versuch einer Übersetzung HM Script –> Javascript (nicht getestet):

    var debug = true;  // Logging
    var cmd = "(echo '00*'; usleep 50000) | telnet 192.168.1.82 15000";
    
    exec(cmd, function (error, stdout, stderr) {
        if(error) log('Exec-Fehler: ' + stderr, 'error');
        else {
            var Solarroh = stdout;
            if(debug) log(Solarroh);
            var x = Solarroh.substr(23, 4);
            if(debug) log(x);
            var m = Solarroh.substr(29, 4);
            if(debug) log(m);
            setState('Solar', parseFloat(x));
            setState('Solar_Monat', parseFloat(m));
        }
    });
    

    Die beiden Datenpunkte 'Solar' und 'Solar_Monat' vom Typ Zahl müssen vorher im Reiter "Objekte" unter javascript.0 erstellt werden.

    Bitte verzichtet auf Chat-Nachrichten, denn die Handhabung ist grauenhaft !
    Produktiv: RPi 2 mit S.USV, HM-MOD-RPI und SLC-USB-Stick mit root fs

    1 Reply Last reply
    0
    • D Offline
      D Offline
      der_broker
      wrote on last edited by
      #5

      Vielen Dank für Deine Hilfe.

      Leider scheitere ich am fehlenden TELNET.

      Da es hier keinen Adapter über iobroker gibt, habe ich im GIT gesucht und einen 3 Jahre alten Eintrag gefunden.

      Diesen habe ich nun versucht über eine eigene URL zu installieren.

      Leider bekomme ich hier Fehler angezeigt.

      $ ./iobroker url "https://github.com/ioBroker/ioBroker.telnet"
      install https://github.com/ioBroker/ioBroker.telnet/tarball/master
      npm install https://github.com/ioBroker/ioBroker.telnet/tarball/master --production --prefix "/opt/iobroker" (System call)
      npm
       http GET https://github.com/ioBroker/ioBroker.telnet/tarball/master
      npm http 200 https://github.com/ioBroker/ioBroker.telnet/tarball/master
      npm ERR! Error: No name providednpm ERR!     at needName (/usr/local/lib/node_modules/npm/lib/cache.js:1247:37)
      npm ERR!     at /usr/local/lib/node_modules/npm/lib/cache.js:1123:10
      npm ERR!     at process._tickCallback (node.js:415:13)
      npm ERR! If you need help, you may report this log at:
      npm ERR!     <http: github.com/isaacs/npm/issues="">
      npm ERR! or email it to:
      npm 
      ERR!     <npm-@googlegroups.com>
      npm ERR! System Linux 3.4.112-sun7i
      npm ERR!
       command "/usr/local/bin/node" "/usr/local/bin/npm" "install" "https://github.com/ioBroker/ioBroker.telnet/tarball/master" "--production" "--prefix" "/opt/iobroker"npm ERR!
       cwd /optnpm
       ERR! node -v v0.10.22npm ERR! 
      npm -v 1.3.14
      npm ERR! npm ERR! Additional logging details can be found in:
      npm
       ERR!     /opt/npm-debug.lognpm ERR! not ok code 0
      
      ERROR: host.cubietruck Cannot install https://github.com/ioBroker/ioBroker.telnet/tarball/master: 1
      ERROR: process exited with code 25</npm-@googlegroups.com></http:>
      

      Alles nicht so einfach :(

      IOBroker auf Cubietruck / Homematic auf yahm

      1 Reply Last reply
      0
      • D Offline
        D Offline
        der_broker
        wrote on last edited by
        #6

        Nun habe ich socket.io installiert und bekomme noch:

        20:58:54.618	[error]	javascript.0 script.js.common.Solar: Exec-Fehler: /bin/sh: 1: telnet: not found sh: echo: I/O error /bin/sh: 1: usleep: not found
        

        IOBroker auf Cubietruck / Homematic auf yahm

        1 Reply Last reply
        0
        • D Offline
          D Offline
          der_broker
          wrote on last edited by
          #7

          Nun habe ich telnet installiert und bekomme noch

          21:18:15.331	[error]	javascript.0 script.js.common.Solar: Exec-Fehler: /bin/sh: 1: usleep: not found Connection closed by foreign host.
          

          IOBroker auf Cubietruck / Homematic auf yahm

          1 Reply Last reply
          0
          • D Offline
            D Offline
            der_broker
            wrote on last edited by
            #8

            Ich komme nicht weiter.

            Scheinbar gibt es unter JavaScript kein USLEEP.

            Mein TCP Server wartet nach Eingabe von Telnet … 15000 drei Sekunden auf 00*, dann wird die Verbindung geschlossen.

            IOBroker auf Cubietruck / Homematic auf yahm

            1 Reply Last reply
            0
            • paul53P Offline
              paul53P Offline
              paul53
              wrote on last edited by
              #9

              @der_broker:

              Scheinbar gibt es unter JavaScript kein USLEEP. `
              Das hat nichts mit Javascript oder ioBroker zu tun, sondern liegt an den Unterschieden der Linux-Varianten.

              Bitte verzichtet auf Chat-Nachrichten, denn die Handhabung ist grauenhaft !
              Produktiv: RPi 2 mit S.USV, HM-MOD-RPI und SLC-USB-Stick mit root fs

              1 Reply Last reply
              0
              • D Offline
                D Offline
                der_broker
                wrote on last edited by
                #10

                OK. Ist also ein fehlender Befehl in meinem Armbian :(

                Sleep ist da!

                Unterschied zu usleep scheint nur zu sein, dass sleep mit Sekunden arbeitet.

                Also habe ich sleep 1 für usleep 50000 eingegeben.

                Ergebnis:

                [error]	javascript.0 script.js.common.Solar: Exec-Fehler: Connection closed by foreign host.
                

                Das Script pausiert 1 oder 2 Sekunden, je nach Vorgabe, führt die Eingabe 00* wohl nicht aus.

                IOBroker auf Cubietruck / Homematic auf yahm

                1 Reply Last reply
                0
                • D Offline
                  D Offline
                  der_broker
                  wrote on last edited by
                  #11

                  die CMD Zeile habe ich umgestellt und das script läuft scheinbar.

                  var cmd = "telnet 192.168.1.82 15000 | (echo '00*'; sleep 1s)";
                  

                  Leider werden die Variablen nicht gefüllt.

                  LOG:

                  javascript.0	2017-05-21 12:31:41.633	info	script.js.common.Solar: setForeignState(id=javascript.0.Solar_Monat_iob, state=null)
                  javascript.0	2017-05-21 12:31:41.632	info	script.js.common.Solar: setForeignState(id=javascript.0.Solar_iob, state=null)
                  javascript.0	2017-05-21 12:31:41.632	info	script.js.common.Solar:
                  javascript.0	2017-05-21 12:31:41.631	info	script.js.common.Solar:
                  javascript.0	2017-05-21 12:31:41.628	info	script.js.common.Solar: 00*
                  javascript.0	2017-05-21 12:31:35.637	info	script.js.common.Solar: registered 0 subscriptions and 0 schedules
                  javascript.0	2017-05-21 12:31:35.637	info	script.js.common.Solar: exec: telnet 192.168.1.82 15000 | (echo '00*'; sleep 1s)
                  

                  IOBroker auf Cubietruck / Homematic auf yahm

                  1 Reply Last reply
                  0
                  • D Offline
                    D Offline
                    der_broker
                    wrote on last edited by
                    #12

                    Der SLEEP Befehl funktioniert wohl doch nicht.

                    Im Log sehe einen neuen LOG Eintrag immer nach 6 Sekunden.

                    Egal ob ich den Sleep Befehl drinnen habe oder ihn rausnehme.

                    :cry:

                    javascript.0	2017-05-21 12:47:45.535	info	script.js.common.Solar: setForeignState(id=javascript.0.Solar_Monat_iob, state=null)
                    javascript.0	2017-05-21 12:47:45.531	info	script.js.common.Solar: setForeignState(id=javascript.0.Solar_iob, state=null)
                    javascript.0	2017-05-21 12:47:45.530	info	script.js.common.Solar:
                    javascript.0	2017-05-21 12:47:45.527	info	script.js.common.Solar:
                    javascript.0	2017-05-21 12:47:45.525	info	script.js.common.Solar: 00*
                    javascript.0	2017-05-21 12:47:39.491	info	script.js.common.Solar: registered 0 subscriptions and 0 schedules
                    javascript.0	2017-05-21 12:47:39.470	info	script.js.common.Solar: exec: telnet 192.168.1.82 15000 | (echo '00*')
                    javascript.0	2017-05-21 12:47:39.455	info	Start javascript script.js.common.Solar
                    javascript.0	2017-05-21 12:47:39.430	info	Stop script script.js.common.Solar
                    javascript.0	2017-05-21 12:46:57.803	info	script.js.common.Solar: setForeignState(id=javascript.0.Solar_Monat_iob, state=null)
                    javascript.0	2017-05-21 12:46:57.798	info	script.js.common.Solar: setForeignState(id=javascript.0.Solar_iob, state=null)
                    javascript.0	2017-05-21 12:46:57.796	info	script.js.common.Solar:
                    javascript.0	2017-05-21 12:46:57.795	info	script.js.common.Solar:
                    javascript.0	2017-05-21 12:46:57.793	info	script.js.common.Solar: 00*
                    javascript.0	2017-05-21 12:46:51.720	info	script.js.common.Solar: registered 0 subscriptions and 0 schedules
                    javascript.0	2017-05-21 12:46:51.695	info	script.js.common.Solar: exec: telnet 192.168.1.82 15000 | (echo '00*'; sleep 1s)
                    javascript.0	2017-05-21 12:46:51.689	info	Start javascript script.js.common.Solar
                    

                    IOBroker auf Cubietruck / Homematic auf yahm

                    1 Reply Last reply
                    0
                    • paul53P Offline
                      paul53P Offline
                      paul53
                      wrote on last edited by
                      #13

                      @der_broker:

                      die CMD Zeile habe ich umgestellt und das script läuft scheinbar.

                      var cmd = "telnet 192.168.1.82 15000 | (echo '00*'; sleep 1s)";
                      ```` `  
                      

                      Als blutiger Linux-Laie behaupte ich: In dieser Reihenfolge kann die pipe nicht funktionieren; das Ergebnis muss "00*" sein. Versuche es mal ohne sleep (mit und ohne Semikolon / Klammern).

                      var cmd = "echo '00*' | telnet 192.168.1.82 15000";
                      

                      Woher hast Du dieses Kommando ? Was bedeutet '15000' ? Liefert Deine Quelle noch andere Möglichkeiten ?

                      Bitte verzichtet auf Chat-Nachrichten, denn die Handhabung ist grauenhaft !
                      Produktiv: RPi 2 mit S.USV, HM-MOD-RPI und SLC-USB-Stick mit root fs

                      1 Reply Last reply
                      0
                      • D Offline
                        D Offline
                        der_broker
                        wrote on last edited by
                        #14

                        Hab ich auch schon wieder umgestellt.

                        15000 ist der Port, auf den der TCP Server auf Anfragen wartet.

                        root@cubietruck:~# telnet 192.168.1.82 15000
                        Trying 192.168.1.82...
                        Connected to 192.168.1.82.
                        Escape character is '^]'.
                        00*
                        {00,21,05,2017,13,38,0030.6,00678,003240,00045138,06203,000,000.0,000,000.0,000,000.0,000,000.0,00},:
                        
                        Connection closed by foreign host.
                        

                        Das ist die Ausgabe, wenn ich die Sachen manuell über die Konsole eingebe.

                        Connection Closed kommt nach einem zweiten Enter.

                        Manuell funktioniert das über den IOBroker Cubie.

                        IOBroker auf Cubietruck / Homematic auf yahm

                        1 Reply Last reply
                        0
                        • D Offline
                          D Offline
                          der_broker
                          wrote on last edited by
                          #15

                          Andere Möglichkeiten gibt es auch.

                          Es gibt CSV Dateien auf dem SolarviewPI.

                          Diese müsste dann geholt werden, taggleich mit dem aktuellen Datum.

                          Die TelnetFunktion läuft seit 2 Jahren ohne Probleme auf dem CCUPi.

                          Wie geschrieben, möchte ich die CCU weiter entscripten!

                          IOBroker auf Cubietruck / Homematic auf yahm

                          1 Reply Last reply
                          0
                          • D Offline
                            D Offline
                            der_broker
                            wrote on last edited by
                            #16

                            Evtl. funktioniert das Script ja auch.

                            Das Schließen kann doch auch darauf hindeuten, dass wie im Terminal die Verbindung halt geschlossen wurde.javascript.0 2017-05-21 13:51:51.342````
                            error script.js.common.Solar: Exec-Fehler: Connection closed by foreign host.
                            javascript.0 2017-05-21 13:51:50.300 info script.js.common.Solar: registered 0 subscriptions and 0 schedules
                            javascript.0 2017-05-21 13:51:50.275 info script.js.common.Solar: exec: echo '00*';sleep 1 | telnet 192.168.1.82 15000
                            javascript.0 2017-05-21 13:51:50.266 info Start javascript script.js.common.Solar
                            javascript.0 2017-05-21 13:51:50.221 info Stop script script.js.common.Solar

                            
                            Dann läuft das Parsen evtl. nicht.
                            
                            Müsste da im Log etwas auftauchen?
                            
                            Was ist das mit den Adaptern einfach… :)

                            IOBroker auf Cubietruck / Homematic auf yahm

                            1 Reply Last reply
                            0
                            • paul53P Offline
                              paul53P Offline
                              paul53
                              wrote on last edited by
                              #17

                              @der_broker:

                              Dann läuft das Parsen evtl. nicht.

                              Müsste da im Log etwas auftauchen? `

                                      if(debug) log(Solarroh);
                              

                              müsste genau den String liefern:

                              {00,21,05,2017,13,38,0030.6,00678,003240,00045138,06203,000,000.0,000,000.0,000,000.0,000,000.0,00},:
                              

                              Das Parsen erfolgt erst im Anschluss. Ergebnis sollte sein '30.6' und '0678'.

                              Das Parsen geht allerdings besser, da die Werte Komma-separiert sind:

                                      Solarroh = Solarroh.split(',');  // erzeugt ein Array
                                      var x = Solarroh[6];
                                      if(debug) log(x);
                                      var m = Solarroh[7];
                                      if(debug) log(m);
                              
                              

                              Bitte verzichtet auf Chat-Nachrichten, denn die Handhabung ist grauenhaft !
                              Produktiv: RPi 2 mit S.USV, HM-MOD-RPI und SLC-USB-Stick mit root fs

                              1 Reply Last reply
                              0
                              • paul53P Offline
                                paul53P Offline
                                paul53
                                wrote on last edited by
                                #18

                                Vielleicht dauert 'sleep 1' zu lange ? Versuche es mal mit 'sleep 0.05'.

                                Bitte verzichtet auf Chat-Nachrichten, denn die Handhabung ist grauenhaft !
                                Produktiv: RPi 2 mit S.USV, HM-MOD-RPI und SLC-USB-Stick mit root fs

                                1 Reply Last reply
                                0
                                • D Offline
                                  D Offline
                                  der_broker
                                  wrote on last edited by
                                  #19

                                  Danke Dir für Deine Hilfe.

                                  Leider kein Erfolg.

                                  Keinerlei Änderung.

                                  IOBroker auf Cubietruck / Homematic auf yahm

                                  1 Reply Last reply
                                  0
                                  • D Offline
                                    D Offline
                                    der_broker
                                    wrote on last edited by
                                    #20

                                    In den Variablen kommt nichts an.

                                    IOBroker auf Cubietruck / Homematic auf yahm

                                    1 Reply Last reply
                                    0
                                    • paul53P Offline
                                      paul53P Offline
                                      paul53
                                      wrote on last edited by
                                      #21

                                      @der_broker:

                                      Es gibt CSV Dateien auf dem SolarviewPI. `
                                      Wenn Du einen Solarview Pi hast: Funktioniert dann nicht auch der Web-Zugriff http://192.168.1.82:88/index.htm ?

                                      In dem Fall könntest Du die Werte mit dem Adapter ioBroker.parser ermitteln.

                                      Bitte verzichtet auf Chat-Nachrichten, denn die Handhabung ist grauenhaft !
                                      Produktiv: RPi 2 mit S.USV, HM-MOD-RPI und SLC-USB-Stick mit root fs

                                      1 Reply Last reply
                                      0
                                      • D Offline
                                        D Offline
                                        der_broker
                                        wrote on last edited by
                                        #22

                                        So sieht eine Seite aus.

                                        JSON, wo Frames geladen werden.

                                        http://www.solarview.info/solarview_fb/

                                        Es gibt Adapter für FHEM und PIMATIC.

                                        beide holen die Daten per telnet.

                                        https://pimatic.org/plugins/pimatic-solarview/

                                        IOBroker auf Cubietruck / Homematic auf yahm

                                        1 Reply Last reply
                                        0
                                        • paul53P Offline
                                          paul53P Offline
                                          paul53
                                          wrote on last edited by
                                          #23

                                          @der_broker:

                                          Es gibt Adapter für FHEM und PIMATIC.

                                          beide holen die Daten per telnet. `
                                          Nein, pimatic-solarview holt die Daten per net.socket. Allerdings auch über die Ausgabe von '00*\r\n':

                                                  socket.once 'connect', (() =>
                                                    @_base.debug("Connected to #{host}:#{port}.")
                                                    socket.write "0" + inverterId + "*\r\n"
                                                  )
                                          

                                          Das ist allerdings kein Javascript, sondern Coffeescript, wovon ich keine Ahnung habe.

                                          Bitte verzichtet auf Chat-Nachrichten, denn die Handhabung ist grauenhaft !
                                          Produktiv: RPi 2 mit S.USV, HM-MOD-RPI und SLC-USB-Stick mit root fs

                                          1 Reply Last reply
                                          0
                                          Reply
                                          • Reply as topic
                                          Log in to reply
                                          • Oldest to Newest
                                          • Newest to Oldest
                                          • Most Votes


                                          Support us

                                          ioBroker
                                          Community Adapters
                                          Donate

                                          488

                                          Online

                                          32.6k

                                          Users

                                          82.2k

                                          Topics

                                          1.3m

                                          Posts
                                          Community
                                          Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen | Einwilligungseinstellungen
                                          ioBroker Community 2014-2025
                                          logo
                                          • Login

                                          • Don't have an account? Register

                                          • Login or register to search.
                                          • First post
                                            Last post
                                          0
                                          • Home
                                          • Recent
                                          • Tags
                                          • Unread 0
                                          • Categories
                                          • Unreplied
                                          • Popular
                                          • GitHub
                                          • Docu
                                          • Hilfe