Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Skripten / Logik
    4. [Geloest] Bitte um Hilfe bei Script ccu-> iobroker

    NEWS

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

    • ioBroker goes Matter ... Matter Adapter in Stable

    • Monatsrückblick - April 2025

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

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

      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.

      1 Reply Last reply Reply Quote 0
      • D
        der_broker last edited by

        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)
        
        1 Reply Last reply Reply Quote 0
        • D
          der_broker last edited by

          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.

          😢

          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
          
          1 Reply Last reply Reply Quote 0
          • paul53
            paul53 last edited by

            @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 ?

            1 Reply Last reply Reply Quote 0
            • D
              der_broker last edited by

              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.

              1 Reply Last reply Reply Quote 0
              • D
                der_broker last edited by

                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!

                1 Reply Last reply Reply Quote 0
                • D
                  der_broker last edited by

                  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… :)
                  1 Reply Last reply Reply Quote 0
                  • paul53
                    paul53 last edited by

                    @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);
                    
                    
                    1 Reply Last reply Reply Quote 0
                    • paul53
                      paul53 last edited by

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

                      1 Reply Last reply Reply Quote 0
                      • D
                        der_broker last edited by

                        Danke Dir für Deine Hilfe.

                        Leider kein Erfolg.

                        Keinerlei Änderung.

                        1 Reply Last reply Reply Quote 0
                        • D
                          der_broker last edited by

                          In den Variablen kommt nichts an.

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

                            @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.

                            1 Reply Last reply Reply Quote 0
                            • D
                              der_broker last edited by

                              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/

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

                                @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.

                                1 Reply Last reply Reply Quote 0
                                • D
                                  der_broker last edited by

                                  Hallo Paul,

                                  vielen Dank für Deine Mühen.

                                  Ich lasse es erst einmal weiter auf yahm (CCU) laufen.

                                  Evtl. finde ich irgendwann eine andere Lösung.

                                  1 Reply Last reply Reply Quote 0
                                  • D
                                    der_broker last edited by

                                    Hallo Paul,

                                    ich nutze nun der Parser-Adapter. Für einen nicht Programmierer nicht so einfach. Ich habe es aber geschafft. Vielen Dank noch einmal für Dein Hilfe.

                                    Gesendet von iPad mit Tapatalk

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

                                    Support us

                                    ioBroker
                                    Community Adapters
                                    Donate

                                    498
                                    Online

                                    31.7k
                                    Users

                                    79.8k
                                    Topics

                                    1.3m
                                    Posts

                                    3
                                    25
                                    3984
                                    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