Skip to content
  • Home
  • Aktuell
  • Tags
  • 0 Ungelesen 0
  • Kategorien
  • Unreplied
  • Beliebt
  • 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

  • Standard: (Kein Skin)
  • Kein Skin
Einklappen
ioBroker Logo

Community Forum

donate donate
  1. ioBroker Community Home
  2. Deutsch
  3. Skripten / Logik
  4. JavaScript
  5. E3DC Hauskraftwerk steuern

NEWS

  • UPDATE 31.10.: Amazon Alexa - ioBroker Skill läuft aus ?
    apollon77A
    apollon77
    48
    3
    8.6k

  • Monatsrückblick – September 2025
    BluefoxB
    Bluefox
    13
    1
    2.1k

  • Neues Video "KI im Smart Home" - ioBroker plus n8n
    BluefoxB
    Bluefox
    16
    1
    3.0k

E3DC Hauskraftwerk steuern

Geplant Angeheftet Gesperrt Verschoben JavaScript
3.5k Beiträge 70 Kommentatoren 1.6m Aufrufe 61 Watching
  • Älteste zuerst
  • Neuste zuerst
  • Meiste Stimmen
Antworten
  • In einem neuen Thema antworten
Anmelden zum Antworten
Dieses Thema wurde gelöscht. Nur Nutzer mit entsprechenden Rechten können es sehen.
  • Thomas BraunT Thomas Braun

    @stevie77 sagte in E3DC Hauskraftwerk steuern:

    lande da eben als root.

    User anlegen, sudo-Rechte vergeben, als User agieren.

    Installation gerade biegen:

    iobroker stop
    iobroker fix
    iobroker start
    

    nodeJS von nodesource richtig anlegen: siehe meine Signatur.

    S Offline
    S Offline
    stevie77
    schrieb am zuletzt editiert von stevie77
    #1061

    @thomas-braun Hmmm, da bin ich jetzt etwas ängstlich. Ich habe den Container so übernommen und bisher nie Probleme gehabt. Wenn ich da jetzt anfange Dinge umzustellen, wer weiß, ob ich dann kompatibel bleibe zu weiteren Updates des Docker-Containers. Vielleicht sollte ich mal ein Update auf die 5er-version von https://hub.docker.com/r/buanet/iobroker/ machen, das kann sein.
    Solange nicht 100% sicher ist, dass das die Ursache für das Problem mit promise ist, würde ich da ungerne Hand anlegen.

    Nach einem Node.js-Update mache ich immer folgendes:
    Den ioBroker-Installationsfixer aufrufen, da die Installation von Node.js einige Einstellungen am System verändert haben kann (Sicherheitseinstellungen):

    curl -sL https://iobroker.net/fix.sh | bash -
    
    Thomas BraunT 1 Antwort Letzte Antwort
    0
    • S stevie77

      @thomas-braun Hmmm, da bin ich jetzt etwas ängstlich. Ich habe den Container so übernommen und bisher nie Probleme gehabt. Wenn ich da jetzt anfange Dinge umzustellen, wer weiß, ob ich dann kompatibel bleibe zu weiteren Updates des Docker-Containers. Vielleicht sollte ich mal ein Update auf die 5er-version von https://hub.docker.com/r/buanet/iobroker/ machen, das kann sein.
      Solange nicht 100% sicher ist, dass das die Ursache für das Problem mit promise ist, würde ich da ungerne Hand anlegen.

      Nach einem Node.js-Update mache ich immer folgendes:
      Den ioBroker-Installationsfixer aufrufen, da die Installation von Node.js einige Einstellungen am System verändert haben kann (Sicherheitseinstellungen):

      curl -sL https://iobroker.net/fix.sh | bash -
      
      Thomas BraunT Online
      Thomas BraunT Online
      Thomas Braun
      Most Active
      schrieb am zuletzt editiert von
      #1062

      @stevie77
      Aus meiner Sicht gehst du da mit einem 'Linux'/Debian falsch um.

      Linux-Werkzeugkasten:
      https://forum.iobroker.net/topic/42952/der-kleine-iobroker-linux-werkzeugkasten
      NodeJS Fixer Skript:
      https://forum.iobroker.net/topic/68035/iob-node-fix-skript
      iob_diag: curl -sLf -o diag.sh https://iobroker.net/diag.sh && bash diag.sh

      S 1 Antwort Letzte Antwort
      0
      • Thomas BraunT Thomas Braun

        @stevie77
        Aus meiner Sicht gehst du da mit einem 'Linux'/Debian falsch um.

        S Offline
        S Offline
        stevie77
        schrieb am zuletzt editiert von stevie77
        #1063

        @thomas-braun Da kannst du ja durchaus Recht haben, andererseits wurde das buanet-ioBroker-Image mehr als 10 Millionen mal heruntergeladen und erfreut sich ziemlicher Beliebtheit. Der wird dann vermutlich auch ne gewisse Ahnung haben. ;-) Ich kann es nicht beurteilen...
        Aber hat jetzt vermutlich auch nichts mit dem Problem zu tun?!

        Thomas BraunT HomoranH 2 Antworten Letzte Antwort
        0
        • S stevie77

          @thomas-braun Da kannst du ja durchaus Recht haben, andererseits wurde das buanet-ioBroker-Image mehr als 10 Millionen mal heruntergeladen und erfreut sich ziemlicher Beliebtheit. Der wird dann vermutlich auch ne gewisse Ahnung haben. ;-) Ich kann es nicht beurteilen...
          Aber hat jetzt vermutlich auch nichts mit dem Problem zu tun?!

          Thomas BraunT Online
          Thomas BraunT Online
          Thomas Braun
          Most Active
          schrieb am zuletzt editiert von
          #1064

          @stevie77

          Ich setze das nicht ein, aber da wurde soweit ich weiß auch ein Standarduser eingerichtet. Zumindest in den letzten Versionen des Containers. Wenn das ganze nicht auf einer Synology laufen sollte jedenfalls.

          Linux-Werkzeugkasten:
          https://forum.iobroker.net/topic/42952/der-kleine-iobroker-linux-werkzeugkasten
          NodeJS Fixer Skript:
          https://forum.iobroker.net/topic/68035/iob-node-fix-skript
          iob_diag: curl -sLf -o diag.sh https://iobroker.net/diag.sh && bash diag.sh

          S 1 Antwort Letzte Antwort
          0
          • Thomas BraunT Thomas Braun

            @stevie77

            Ich setze das nicht ein, aber da wurde soweit ich weiß auch ein Standarduser eingerichtet. Zumindest in den letzten Versionen des Containers. Wenn das ganze nicht auf einer Synology laufen sollte jedenfalls.

            S Offline
            S Offline
            stevie77
            schrieb am zuletzt editiert von
            #1065

            @thomas-braun Kann natürlich sein, dass das eine der Verbesserungen ist beim Sprung von Version 4.x auf 5.x - wie gesagt, wenn ich mal Zeit haben sollte, müsste ich den Sprung auch mal machen. Aber ist jetzt wohl eher offtopic. ;-)

            1 Antwort Letzte Antwort
            0
            • A ArnoD

              @stevie77

              Versuch mal folgende Änderung.
              in der Zeile 213 diese beiden Konstanten definieren:
              const { readFile } = require('fs').promises
              const { writeFile } = require('fs').promises
              und die Zeile
              const fs = require('fs').promises;
              löschen.

              Die Zeile 880 in
              await writeFile(sPfadE3DC , string)
              ändern und die Zeile 896 in
              let data = await readFile(sPfadE3DC, { encoding: 'utf8' })
              ändern.

              Wenn es bei dir auch funktioniert, würde ich das in meinem Script so übernehmen.

              S Offline
              S Offline
              stevie77
              schrieb am zuletzt editiert von
              #1066

              @arnod sagte in E3DC Hauskraftwerk steuern:

              @stevie77

              Versuch mal folgende Änderung.
              in der Zeile 213 diese beiden Konstanten definieren:
              const { readFile } = require('fs').promises
              const { writeFile } = require('fs').promises
              und die Zeile
              const fs = require('fs').promises;
              löschen.

              Die Zeile 880 in
              await writeFile(sPfadE3DC , string)
              ändern und die Zeile 896 in
              let data = await readFile(sPfadE3DC, { encoding: 'utf8' })
              ändern.

              Wenn es bei dir auch funktioniert, würde ich das in meinem Script so übernehmen.

              Das resultiert dann darin:

              dcc14514-3f66-4748-a03d-ce69f46abba1-image.png

              9402da13-015e-44de-8709-28cf19fa7d4f-image.png

              1 Antwort Letzte Antwort
              0
              • A ArnoD

                @stevie77
                Also Error 429 ist einfach zu beantworten, hier sind in einer bestimmten Zeitspanne zu viele Anfragen gesendet worden.

                Die erste Fehlermeldung ist nicht so einfach zu beantworten.
                Welche Version vom Javascript Adapter hast du bei dir installiert?
                Ich habe folgende Stände:
                Javascript Adapter 5.2.13
                Node.js 12.22.4
                npm 6.14.14

                Einfach mal auf die neusten Versionen updaten und dann testen.
                Denke aber nicht das es daran liegt, da ab Version 10.x FS Promises funktionieren sollte.
                Die drei Punkte habe ich auch, weiß aber nicht was diese bedeuten.
                Hast du sonst noch was geändert am Script?

                Kannst mal versuchen die e3dc.config.txt zu löschen und über das Script neu erstellen lassen, ob das funktioniert.

                Wenn alles nicht funktioniert bleibt nur require('fs').promises gegen require('fs'); zu tauschen oder einfach const fsw verwenden. Dann kann aber await nicht verwendet werden und muss in Zeile 880 gelöscht werden.
                Die Zeile 880 sieht dann so aus:
                fsw.writeFile(sPfadE3DC , string)
                Das gleiche in Zeile 896:
                let data = fsw.readFile(sPfadE3DC, 'utf8')

                Hat hier noch jemand das Problem ??

                S Offline
                S Offline
                stevie77
                schrieb am zuletzt editiert von
                #1067

                @arnod sagte in E3DC Hauskraftwerk steuern:

                @stevie77
                Wenn alles nicht funktioniert bleibt nur require('fs').promises gegen require('fs'); zu tauschen oder einfach const fsw verwenden. Dann kann aber await nicht verwendet werden und muss in Zeile 880 gelöscht werden.
                Die Zeile 880 sieht dann so aus:
                fsw.writeFile(sPfadE3DC , string)
                Das gleiche in Zeile 896:
                let data = fsw.readFile(sPfadE3DC, 'utf8')

                Das resultiert dann (falls ich es richtig gemacht habe) in:

                f79bdff0-893a-4fc0-b6ba-f8fd093fd25d-image.png

                Zeile 281 ist hier dann eh überflüssig, da später nur fsw verwendet wird?! Aber schadet ja auch nicht im Test...

                21517dcd-7e1c-46fd-80f1-3d42643472bd-image.png

                ae3ea929-3db6-488e-bed3-faef2b4d5fd4-image.png

                GlasfaserG 1 Antwort Letzte Antwort
                0
                • S stevie77

                  @arnod sagte in E3DC Hauskraftwerk steuern:

                  @stevie77
                  Wenn alles nicht funktioniert bleibt nur require('fs').promises gegen require('fs'); zu tauschen oder einfach const fsw verwenden. Dann kann aber await nicht verwendet werden und muss in Zeile 880 gelöscht werden.
                  Die Zeile 880 sieht dann so aus:
                  fsw.writeFile(sPfadE3DC , string)
                  Das gleiche in Zeile 896:
                  let data = fsw.readFile(sPfadE3DC, 'utf8')

                  Das resultiert dann (falls ich es richtig gemacht habe) in:

                  f79bdff0-893a-4fc0-b6ba-f8fd093fd25d-image.png

                  Zeile 281 ist hier dann eh überflüssig, da später nur fsw verwendet wird?! Aber schadet ja auch nicht im Test...

                  21517dcd-7e1c-46fd-80f1-3d42643472bd-image.png

                  ae3ea929-3db6-488e-bed3-faef2b4d5fd4-image.png

                  GlasfaserG Offline
                  GlasfaserG Offline
                  Glasfaser
                  schrieb am zuletzt editiert von Glasfaser
                  #1068

                  @stevie77

                  4f91e3f0-9d45-45bd-8331-a0f10ccfcb57-grafik.png

                  Ich kenne das ganze hier nicht ,
                  aber ich sehe das in deinem Script der read bei dir falsch ist :

                  let data = await readFile(sPfadE3DC, 'utf8')
                  

                  so sollte es sein :

                  let data = await fs.readFile(sPfadE3DC, 'utf8')
                  

                  Auf Github:

                  // Einlesen der Werte e3dc.config.txt
                  async function e3dcConfigRead()  
                  {
                      let StateParameter = ['Einspeiselimit','UntererLadekorridor','ObererLadekorridor',
                      'MinimumLadeleistung','MaximumLadeleistung','Wrleistung','Ladeschwelle','Ladeende',
                      'Ladeende2','Winterminimum','Sommermaximum','Sommerladeende','Speichergroesse','Unload',
                      'HTmin','HTsockel','HTon','HToff','HTsat','HTsun','Debug','Wallbox','WBmode','WBminLade','Peakshave']
                      try{
                          let data = await fs.readFile(sPfadE3DC, 'utf8')
                  

                  Hast du eine falsche Version !?

                  Schau mal auf GitHub , dort habe ich das Script mit deinen Screenshot verglichen !

                  Synology 918+ 16GB - ioBroker in Docker v9 , VISO auf Trekstor Primebook C13 13,3" , Hikvision Domkameras mit Surveillance Station .. CCU RaspberryMatic in Synology VM .. Zigbee CC2538+CC2592 .. Sonoff .. KNX .. Modbus ..

                  S 1 Antwort Letzte Antwort
                  0
                  • GlasfaserG Glasfaser

                    @stevie77

                    4f91e3f0-9d45-45bd-8331-a0f10ccfcb57-grafik.png

                    Ich kenne das ganze hier nicht ,
                    aber ich sehe das in deinem Script der read bei dir falsch ist :

                    let data = await readFile(sPfadE3DC, 'utf8')
                    

                    so sollte es sein :

                    let data = await fs.readFile(sPfadE3DC, 'utf8')
                    

                    Auf Github:

                    // Einlesen der Werte e3dc.config.txt
                    async function e3dcConfigRead()  
                    {
                        let StateParameter = ['Einspeiselimit','UntererLadekorridor','ObererLadekorridor',
                        'MinimumLadeleistung','MaximumLadeleistung','Wrleistung','Ladeschwelle','Ladeende',
                        'Ladeende2','Winterminimum','Sommermaximum','Sommerladeende','Speichergroesse','Unload',
                        'HTmin','HTsockel','HTon','HToff','HTsat','HTsun','Debug','Wallbox','WBmode','WBminLade','Peakshave']
                        try{
                            let data = await fs.readFile(sPfadE3DC, 'utf8')
                    

                    Hast du eine falsche Version !?

                    Schau mal auf GitHub , dort habe ich das Script mit deinen Screenshot verglichen !

                    S Offline
                    S Offline
                    stevie77
                    schrieb am zuletzt editiert von stevie77
                    #1069

                    @glasfaser sagte in E3DC Hauskraftwerk steuern:

                    let data = await readFile(sPfadE3DC, 'utf8')

                    Ich versuche ja gerade diese Varianten von Arno umzusetzen, die abweichend vom Original bei Github sind...

                    1 Antwort Letzte Antwort
                    0
                    • A ArnoD

                      @stevie77
                      Also Error 429 ist einfach zu beantworten, hier sind in einer bestimmten Zeitspanne zu viele Anfragen gesendet worden.

                      Die erste Fehlermeldung ist nicht so einfach zu beantworten.
                      Welche Version vom Javascript Adapter hast du bei dir installiert?
                      Ich habe folgende Stände:
                      Javascript Adapter 5.2.13
                      Node.js 12.22.4
                      npm 6.14.14

                      Einfach mal auf die neusten Versionen updaten und dann testen.
                      Denke aber nicht das es daran liegt, da ab Version 10.x FS Promises funktionieren sollte.
                      Die drei Punkte habe ich auch, weiß aber nicht was diese bedeuten.
                      Hast du sonst noch was geändert am Script?

                      Kannst mal versuchen die e3dc.config.txt zu löschen und über das Script neu erstellen lassen, ob das funktioniert.

                      Wenn alles nicht funktioniert bleibt nur require('fs').promises gegen require('fs'); zu tauschen oder einfach const fsw verwenden. Dann kann aber await nicht verwendet werden und muss in Zeile 880 gelöscht werden.
                      Die Zeile 880 sieht dann so aus:
                      fsw.writeFile(sPfadE3DC , string)
                      Das gleiche in Zeile 896:
                      let data = fsw.readFile(sPfadE3DC, 'utf8')

                      Hat hier noch jemand das Problem ??

                      GlasfaserG Offline
                      GlasfaserG Offline
                      Glasfaser
                      schrieb am zuletzt editiert von
                      #1070

                      @arnod

                      liegt es eventuell an dem

                      const fs = require('fs').promises;

                      hier war so ein ähliches Problem :

                      https://forum.iobroker.net/topic/42638/überführung-funktionierendes-node-js-script/

                      Synology 918+ 16GB - ioBroker in Docker v9 , VISO auf Trekstor Primebook C13 13,3" , Hikvision Domkameras mit Surveillance Station .. CCU RaspberryMatic in Synology VM .. Zigbee CC2538+CC2592 .. Sonoff .. KNX .. Modbus ..

                      A 1 Antwort Letzte Antwort
                      0
                      • A ArnoD

                        @stevie77
                        Also Error 429 ist einfach zu beantworten, hier sind in einer bestimmten Zeitspanne zu viele Anfragen gesendet worden.

                        Die erste Fehlermeldung ist nicht so einfach zu beantworten.
                        Welche Version vom Javascript Adapter hast du bei dir installiert?
                        Ich habe folgende Stände:
                        Javascript Adapter 5.2.13
                        Node.js 12.22.4
                        npm 6.14.14

                        Einfach mal auf die neusten Versionen updaten und dann testen.
                        Denke aber nicht das es daran liegt, da ab Version 10.x FS Promises funktionieren sollte.
                        Die drei Punkte habe ich auch, weiß aber nicht was diese bedeuten.
                        Hast du sonst noch was geändert am Script?

                        Kannst mal versuchen die e3dc.config.txt zu löschen und über das Script neu erstellen lassen, ob das funktioniert.

                        Wenn alles nicht funktioniert bleibt nur require('fs').promises gegen require('fs'); zu tauschen oder einfach const fsw verwenden. Dann kann aber await nicht verwendet werden und muss in Zeile 880 gelöscht werden.
                        Die Zeile 880 sieht dann so aus:
                        fsw.writeFile(sPfadE3DC , string)
                        Das gleiche in Zeile 896:
                        let data = fsw.readFile(sPfadE3DC, 'utf8')

                        Hat hier noch jemand das Problem ??

                        S Offline
                        S Offline
                        stevie77
                        schrieb am zuletzt editiert von
                        #1071

                        @arnod sagte in E3DC Hauskraftwerk steuern:

                        Wenn alles nicht funktioniert bleibt nur require('fs').promises gegen require('fs'); zu tauschen oder einfach const fsw verwenden. Dann kann aber await nicht verwendet werden und muss in Zeile 880 gelöscht werden.
                        Die Zeile 880 sieht dann so aus:
                        fsw.writeFile(sPfadE3DC , string)
                        Das gleiche in Zeile 896:
                        let data = fsw.readFile(sPfadE3DC, 'utf8')

                        Jetzt habe ich eine Variante gefunden, die durchläuft:

                        //***************************************************************************************************
                        //************************************ Deklaration Variablen ****************************************
                        //***************************************************************************************************
                        const fsw = require('fs');
                        
                        	// String in Datei e3dc.config.txt schreiben
                            try{
                                fsw.writeFileSync(sPfadE3DC, string)
                                console.log('-==== E3DC Config Datei gespeichert! ====-');
                        
                            try{
                                let data = fsw.readFileSync(sPfadE3DC, 'utf8')
                                data = data.replace(/\n/g, " ");
                        

                        Das hatte ich jetzt eher zufällig bei der Funktion writelog() abgeguckt, dort wird auch die synchronisierte Variante aufgerufen: fsw.writeFileSync(sLogPath, string );
                        Laufe ich damit in irgendwelche Probleme? Werde gleich mal testen, ob auch die richtigen Werte geschrieben und gelesen werden...

                        S 1 Antwort Letzte Antwort
                        0
                        • S stevie77

                          @arnod sagte in E3DC Hauskraftwerk steuern:

                          Wenn alles nicht funktioniert bleibt nur require('fs').promises gegen require('fs'); zu tauschen oder einfach const fsw verwenden. Dann kann aber await nicht verwendet werden und muss in Zeile 880 gelöscht werden.
                          Die Zeile 880 sieht dann so aus:
                          fsw.writeFile(sPfadE3DC , string)
                          Das gleiche in Zeile 896:
                          let data = fsw.readFile(sPfadE3DC, 'utf8')

                          Jetzt habe ich eine Variante gefunden, die durchläuft:

                          //***************************************************************************************************
                          //************************************ Deklaration Variablen ****************************************
                          //***************************************************************************************************
                          const fsw = require('fs');
                          
                          	// String in Datei e3dc.config.txt schreiben
                              try{
                                  fsw.writeFileSync(sPfadE3DC, string)
                                  console.log('-==== E3DC Config Datei gespeichert! ====-');
                          
                              try{
                                  let data = fsw.readFileSync(sPfadE3DC, 'utf8')
                                  data = data.replace(/\n/g, " ");
                          

                          Das hatte ich jetzt eher zufällig bei der Funktion writelog() abgeguckt, dort wird auch die synchronisierte Variante aufgerufen: fsw.writeFileSync(sLogPath, string );
                          Laufe ich damit in irgendwelche Probleme? Werde gleich mal testen, ob auch die richtigen Werte geschrieben und gelesen werden...

                          S Offline
                          S Offline
                          stevie77
                          schrieb am zuletzt editiert von
                          #1072

                          @stevie77 sagte in E3DC Hauskraftwerk steuern:

                          Laufe ich damit in irgendwelche Probleme? Werde gleich mal testen, ob auch die richtigen Werte geschrieben und gelesen werden...

                          Werte schreiben und lesen klappt so. Yippiehh, endlich läuft das wieder. :-) Bei zukünftigen Updates muss ich dann halt diese drei Code-Stellen immer mergen, aber das geht ja...

                          A 1 Antwort Letzte Antwort
                          0
                          • S stevie77

                            @stevie77 sagte in E3DC Hauskraftwerk steuern:

                            Laufe ich damit in irgendwelche Probleme? Werde gleich mal testen, ob auch die richtigen Werte geschrieben und gelesen werden...

                            Werte schreiben und lesen klappt so. Yippiehh, endlich läuft das wieder. :-) Bei zukünftigen Updates muss ich dann halt diese drei Code-Stellen immer mergen, aber das geht ja...

                            A Online
                            A Online
                            ArnoD
                            schrieb am zuletzt editiert von
                            #1073

                            @stevie77

                            Mich würde nur interessieren, warum es bei dir nicht funktioniert.
                            Was mir noch eingefallen ist, hast du nach dem Update von Node.js einmal den Befehl "npm rebuild" ausgeführt?

                            Probleme wirst du ohne fs promises nicht haben.

                            S 1 Antwort Letzte Antwort
                            0
                            • GlasfaserG Glasfaser

                              @arnod

                              liegt es eventuell an dem

                              const fs = require('fs').promises;

                              hier war so ein ähliches Problem :

                              https://forum.iobroker.net/topic/42638/überführung-funktionierendes-node-js-script/

                              A Online
                              A Online
                              ArnoD
                              schrieb am zuletzt editiert von
                              #1074

                              @glasfaser
                              Wenn es nicht bei allen anderen funktionieren würde, hätte ich das auch vermutet.
                              Es funktioniert bei mir einwandfrei, kann es aber natürlich auch ohne Promises programmieren.
                              Werde mir das ganze für die nächste Version mal ansehen, da gibt es ja verschiedene Möglichkeiten dasselbe Ergebnis zu erreichen. fs promises war halt nur die einfachste. :-)

                              1 Antwort Letzte Antwort
                              0
                              • A ArnoD

                                @stevie77

                                Mich würde nur interessieren, warum es bei dir nicht funktioniert.
                                Was mir noch eingefallen ist, hast du nach dem Update von Node.js einmal den Befehl "npm rebuild" ausgeführt?

                                Probleme wirst du ohne fs promises nicht haben.

                                S Offline
                                S Offline
                                stevie77
                                schrieb am zuletzt editiert von
                                #1075

                                @arnod sagte in E3DC Hauskraftwerk steuern:

                                npm rebuild

                                Habe ich jetzt mal ausgeführt (hat einiges kompiliert), den originalen Skriptstand eingeführt: Hilft leider nichts.

                                1 Antwort Letzte Antwort
                                0
                                • TbsJahT Offline
                                  TbsJahT Offline
                                  TbsJah
                                  schrieb am zuletzt editiert von TbsJah
                                  #1076

                                  Hallo zusammen,
                                  eventuell hat jemand Interesse daran.

                                  RSCPGui bietet die Möglichkeit die Daten per MQTT per Gui und per Console zu liefern
                                  Mit der nachstehenden Möglichkeit werden die Daten per MQTT per Service vom E3DC an den MQTT Adapter von iobroker geliefert.
                                  Letztendlich ähnlich zu dem Autostart von dem Prog von Eba

                                  @smartboart hatte (sehr) viel weiter oben schon erklärt wie der Autostart mit Screen von der Gui Version möglich ist
                                  Hier die Consolen Variante

                                  RSCPGui von hier laden github
                                  Wichtig ist das Ihr den Branch testin3 verwendet. Der Master Branch scheint einen Bug zu haben.

                                  Entpacken und auf /home/pi ablegen
                                  Ich nutze hierfür Filezilla -kann aber natürlich auch mit der git clone - make Variante erfolgen

                                  per Console in das erstellte RSCPGui Verzeichnis navigieren und die requirements installieren

                                  cd RSCPGui
                                  pip3 install -r requirements.txt
                                  

                                  Danach die rscpe3dc.conf.ini anpassen . Was so aussehen könnte

                                  [Login]
                                  username = email@gmail.com
                                  password = @245245245234524352345234524352345
                                  address = 192.xxx.xxx.xxx
                                  rscppassword = @KJHSKFBÖKJBEF
                                  seriennummer = S10-123456789
                                  websocketaddr = wss://s10.e3dc.com/ws
                                  connectiontype = direkt
                                  autoupdate = 30
                                  
                                  [Export]
                                  csv = False
                                  csvfile = 
                                  json = False
                                  jsonfile = 
                                  mqtt = True
                                  mqttbroker = 192.xxx.xxx.xxx
                                  mqttport = 1883
                                  mqttqos = 0
                                  mqttretain = False
                                  mqttsub = False
                                  mqttusername = 
                                  mqttpassword = @
                                  mqttzertifikat = 
                                  mqttinsecure = False
                                  influx = False
                                  influxhost = localhost
                                  influxport = 8086
                                  influxdatenbank = 
                                  influxtimeout = 1
                                  influxname = rscpgui
                                  http = False
                                  httpurl = https://pv.pincrushers.de/rscpgui
                                  intervall = 30
                                  paths = E3DC/INFO_DATA/INFO_SERIAL_NUMBER
                                  pathnames = E3DC/INFO_DATA/INFO_SERIAL_NUMBER|E3DC/INFO_DATA/INFO_SERIAL_NUMBER
                                  

                                  Natürlich könnte ihr auch die Ini von der Exe verwenden. Dann ist es aber wichtig das die Segmente nach [Export] gelöscht werden.

                                  Somit wäre das Programm bereits manuell per console startbar.

                                  python3 main.py -c -e -v INFO
                                  

                                  Um das Prog automatisch im Hintergrund laufen zu lassen müsst ihr noch folgendes einstellen
                                  Config Datei für systemd erstellen

                                  sudo nano /lib/systemd/system/myscript.service
                                  

                                  Nachstehenden Text eingeben

                                  [Unit]
                                  Description=My Script Service
                                  After=multi-user.target
                                  
                                  [Service]
                                  Type=idle
                                  ExecStart=/usr/bin/python3 /home/pi/RSCP/main.py -c -e
                                  WorkingDirectory=/home/pi/RSCP
                                  
                                  User=pi
                                  
                                  [Install]
                                  WantedBy=multi-user.target
                                  

                                  Berechtigung setzen

                                  sudo chmod 644 /lib/systemd/system/myscript.service
                                  

                                  systemd aktualisieren

                                  sudo systemctl daemon-reload
                                  sudo systemctl enable myscript.service
                                  

                                  Neustarten

                                  sudo reboot
                                  

                                  Ergebnis sollte dann, wenn alle Adapter gestartet sind, so aussehen

                                  ad5b7940-2954-4224-b1cb-f078c4a0e214-image.png

                                  1 Antwort Letzte Antwort
                                  1
                                  • TbsJahT Offline
                                    TbsJahT Offline
                                    TbsJah
                                    schrieb am zuletzt editiert von TbsJah
                                    #1077

                                    Anstelle des services ist es einfacher es analog zu dem Aufruf von Eba zu machen

                                    Console öffnen
                                    In das RSCP Verzeichnis navigieren und eine RSCP.sh erstellen

                                    pi@raspberrypi:~ $ cd RSCP
                                    pi@raspberrypi:~/RSCP $ sudo nano RSCP.sh
                                    

                                    Aufruf eingeben

                                    
                                    #!/bin/bash
                                    cd /home/pi/RSCP
                                    echo "RSCP wird gestartet"
                                    while true;
                                    do
                                    python3 main.py -c -e -v INFO
                                    sleep 30
                                    done
                                    

                                    Ausführbar machen

                                    chmod +x RSCP.sh
                                    

                                    Autostarteintrag

                                    sudo nano /etc/rc.local
                                    
                                    

                                    Text ergänzen

                                    su pi -c "screen -dmS E3DC /home/pi/E3DC-Control/E3DC.sh" &
                                    su pi /home/pi/RSCP/RSCP.sh &
                                    

                                    Neustart und freuen

                                    A 1 Antwort Letzte Antwort
                                    0
                                    • TbsJahT TbsJah

                                      Anstelle des services ist es einfacher es analog zu dem Aufruf von Eba zu machen

                                      Console öffnen
                                      In das RSCP Verzeichnis navigieren und eine RSCP.sh erstellen

                                      pi@raspberrypi:~ $ cd RSCP
                                      pi@raspberrypi:~/RSCP $ sudo nano RSCP.sh
                                      

                                      Aufruf eingeben

                                      
                                      #!/bin/bash
                                      cd /home/pi/RSCP
                                      echo "RSCP wird gestartet"
                                      while true;
                                      do
                                      python3 main.py -c -e -v INFO
                                      sleep 30
                                      done
                                      

                                      Ausführbar machen

                                      chmod +x RSCP.sh
                                      

                                      Autostarteintrag

                                      sudo nano /etc/rc.local
                                      
                                      

                                      Text ergänzen

                                      su pi -c "screen -dmS E3DC /home/pi/E3DC-Control/E3DC.sh" &
                                      su pi /home/pi/RSCP/RSCP.sh &
                                      

                                      Neustart und freuen

                                      A Online
                                      A Online
                                      ArnoD
                                      schrieb am zuletzt editiert von
                                      #1078

                                      @tbsjah
                                      Super Anleitung, Danke.
                                      Wenn das auch mit einer iobroker Installation auf der Synology im Docker Container funktioniert, wäre das super :-)

                                      Werde das am Wochenende mal testen.
                                      Hatte es bereits einmal versucht, jedoch ohne Erfolg.

                                      M 1 Antwort Letzte Antwort
                                      0
                                      • TbsJahT Offline
                                        TbsJahT Offline
                                        TbsJah
                                        schrieb am zuletzt editiert von TbsJah
                                        #1079

                                        Kleine Aktualisierung
                                        Aufruf per rc.local oder service war recht instabil über längere Laufzeit.

                                        crontab hat sich für mich als am stabilsten erwiesen.

                                        die RSCP.sh sieht dadurch etwas anders aus

                                        #!/bin/bash
                                        cd /home/pi/RSCP/
                                        echo "RSCP wird gestartet" 
                                        #while true;
                                        #do
                                        python3 /home/pi/RSCP/main.py -c -e &
                                        sleep 15
                                        PID=$!
                                        kill $PID
                                        exit 0
                                        

                                        Einrichten cron

                                        sudo crontab -e
                                        

                                        Aufruf RSCP.sh jede Minute

                                        */1 * * * * cd /home/pi/RSCP/ && /home/pi/RSCP/RSCP.sh &
                                        
                                        C 1 Antwort Letzte Antwort
                                        0
                                        • TbsJahT TbsJah

                                          Kleine Aktualisierung
                                          Aufruf per rc.local oder service war recht instabil über längere Laufzeit.

                                          crontab hat sich für mich als am stabilsten erwiesen.

                                          die RSCP.sh sieht dadurch etwas anders aus

                                          #!/bin/bash
                                          cd /home/pi/RSCP/
                                          echo "RSCP wird gestartet" 
                                          #while true;
                                          #do
                                          python3 /home/pi/RSCP/main.py -c -e &
                                          sleep 15
                                          PID=$!
                                          kill $PID
                                          exit 0
                                          

                                          Einrichten cron

                                          sudo crontab -e
                                          

                                          Aufruf RSCP.sh jede Minute

                                          */1 * * * * cd /home/pi/RSCP/ && /home/pi/RSCP/RSCP.sh &
                                          
                                          C Offline
                                          C Offline
                                          ChrisChros
                                          schrieb am zuletzt editiert von
                                          #1080

                                          @tbsjah Welcher Mehrwert ergibt sich denn daraus wenn man RSCPGui nutzt?

                                          TbsJahT 1 Antwort Letzte Antwort
                                          0
                                          Antworten
                                          • In einem neuen Thema antworten
                                          Anmelden zum Antworten
                                          • Älteste zuerst
                                          • Neuste zuerst
                                          • Meiste Stimmen


                                          Support us

                                          ioBroker
                                          Community Adapters
                                          Donate

                                          769

                                          Online

                                          32.4k

                                          Benutzer

                                          81.5k

                                          Themen

                                          1.3m

                                          Beiträge
                                          Community
                                          Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen | Einwilligungseinstellungen
                                          ioBroker Community 2014-2025
                                          logo
                                          • Anmelden

                                          • Du hast noch kein Konto? Registrieren

                                          • Anmelden oder registrieren, um zu suchen
                                          • Erster Beitrag
                                            Letzter Beitrag
                                          0
                                          • Home
                                          • Aktuell
                                          • Tags
                                          • Ungelesen 0
                                          • Kategorien
                                          • Unreplied
                                          • Beliebt
                                          • GitHub
                                          • Docu
                                          • Hilfe