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. SendTo-Blockly für Bilderstellung geht nicht

NEWS

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

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

  • Weihnachtsangebot 2025! 🎄
    BluefoxB
    Bluefox
    25
    1
    2.1k

SendTo-Blockly für Bilderstellung geht nicht

Geplant Angeheftet Gesperrt Verschoben Skripten / Logik
14 Beiträge 4 Kommentatoren 374 Aufrufe 4 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.
  • M Offline
    M Offline
    MJAS
    schrieb am zuletzt editiert von MJAS
    #1

    Hallo zusammen,
    ich versuche, wie im Blog-Eintrag von @haus-automatisierung hier geschrieben, ein eChart-Diagramm auf Festplatte zu speichern und das ganze dann zwar nicht per Telegram, aber über Pushover zu versenden.

    Die benötigten Pakete sind alle installiert.
    Allerdings erhalte ich im sendTo-Block nicht den Block, wie er im Blog dargestellt ist:

    Screenshot_20251124_124430.png

    Ich kann zwar das Blockly importieren, aber so wie ich das Skript verstanden hab, ist der sendTo-Block ja dafür zuständig, das eCharts-Diagramm auf Platte zu speichern.
    Das funktioniert aber bei mir nicht.
    Aber den SendTo-Block wie im Blog erhalte ich nicht orginär in der Auswahl der Blockly-Elemente.
    Den erhalte ich lediglich, weil ich das Skript importiert hatte.

    Im Log steht lediglich:

    script.js.Test2: sendTo[custom] echarts.0: preset: echarts.0.Temperatur.Heizung, renderer: jpg, background: #FFFFFF, theme: light, quality: 0.8, fileOnDisk: /opt/iobroker/iobroker-data/echarts-tmp.jpg
    

    Die Datei wurde mir zuerst nicht angelegt - ich hab sie über den touch-Befehl manuell erstellt und die Rechte auf den iobroker-Nutzer geändert.
    Dateigröße bleibt aber 0 Byte.

    Mein Skript dazu schaut so aus:
    Screenshot_20251124_142127.png

    Hier meine System-Daten:

    Node.js:v20.19.5
    NPM:10.8.2
    _nodeCurrent:20.19.5
    _nodeNewest:20.19.5
    _nodeNewestNext:22.21.1
    _npmCurrent:10.8.2
    _npmNewest:10.8.2
    _npmNewestNext:10.9.4
    
    

    Danke für eure Unterstützung und Hilfe.

    Thomas BraunT haus-automatisierungH 2 Antworten Letzte Antwort
    0
    • M MJAS

      Hallo zusammen,
      ich versuche, wie im Blog-Eintrag von @haus-automatisierung hier geschrieben, ein eChart-Diagramm auf Festplatte zu speichern und das ganze dann zwar nicht per Telegram, aber über Pushover zu versenden.

      Die benötigten Pakete sind alle installiert.
      Allerdings erhalte ich im sendTo-Block nicht den Block, wie er im Blog dargestellt ist:

      Screenshot_20251124_124430.png

      Ich kann zwar das Blockly importieren, aber so wie ich das Skript verstanden hab, ist der sendTo-Block ja dafür zuständig, das eCharts-Diagramm auf Platte zu speichern.
      Das funktioniert aber bei mir nicht.
      Aber den SendTo-Block wie im Blog erhalte ich nicht orginär in der Auswahl der Blockly-Elemente.
      Den erhalte ich lediglich, weil ich das Skript importiert hatte.

      Im Log steht lediglich:

      script.js.Test2: sendTo[custom] echarts.0: preset: echarts.0.Temperatur.Heizung, renderer: jpg, background: #FFFFFF, theme: light, quality: 0.8, fileOnDisk: /opt/iobroker/iobroker-data/echarts-tmp.jpg
      

      Die Datei wurde mir zuerst nicht angelegt - ich hab sie über den touch-Befehl manuell erstellt und die Rechte auf den iobroker-Nutzer geändert.
      Dateigröße bleibt aber 0 Byte.

      Mein Skript dazu schaut so aus:
      Screenshot_20251124_142127.png

      Hier meine System-Daten:

      Node.js:v20.19.5
      NPM:10.8.2
      _nodeCurrent:20.19.5
      _nodeNewest:20.19.5
      _nodeNewestNext:22.21.1
      _npmCurrent:10.8.2
      _npmNewest:10.8.2
      _npmNewestNext:10.9.4
      
      

      Danke für eure Unterstützung und Hilfe.

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

      @MJAS

      Losgelöst vom Problem:

      nodejs updaten

      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

      1 Antwort Letzte Antwort
      0
      • M Offline
        M Offline
        MJAS
        schrieb am zuletzt editiert von MJAS
        #3

        @Thomas-Braun
        Hab ich versucht, klappt aber nicht.
        Über die Oberfläche kann ich zwar aktualisieren, iobroker sagt auch, das Update wäre erfolgreich, aber die Versionsnummern ändern sich nicht.

        Ich hab mein System unter Proxmox laufen und mit den iobroker-Skript den iobroker installiert.
        In der Konsole kann ich mit root arbeiten.
        Hier scheitert ein "iob nodejs-update" daran, dass man eben nicht mit root arbeiten soll.
        Ich hab zwar ein iobroker-Verzeichnis unter /home, kann aber nicht mit "su iobroker" in diesen User wechseln - da erhalte ich die Meldung "This account is currently not available".
        Wenn ich mit --allow-root arbeite, kommt dennoch:

        root@iobroker:/opt/iobroker# iob nodejs-update 22 --allow-root
        Valid major version
        This script must not be run as root! 
        Please use your standard user!
        root@iobroker:/opt/iobroker# 
        
        Thomas BraunT CodierknechtC 2 Antworten Letzte Antwort
        0
        • M MJAS

          @Thomas-Braun
          Hab ich versucht, klappt aber nicht.
          Über die Oberfläche kann ich zwar aktualisieren, iobroker sagt auch, das Update wäre erfolgreich, aber die Versionsnummern ändern sich nicht.

          Ich hab mein System unter Proxmox laufen und mit den iobroker-Skript den iobroker installiert.
          In der Konsole kann ich mit root arbeiten.
          Hier scheitert ein "iob nodejs-update" daran, dass man eben nicht mit root arbeiten soll.
          Ich hab zwar ein iobroker-Verzeichnis unter /home, kann aber nicht mit "su iobroker" in diesen User wechseln - da erhalte ich die Meldung "This account is currently not available".
          Wenn ich mit --allow-root arbeite, kommt dennoch:

          root@iobroker:/opt/iobroker# iob nodejs-update 22 --allow-root
          Valid major version
          This script must not be run as root! 
          Please use your standard user!
          root@iobroker:/opt/iobroker# 
          
          Thomas BraunT Online
          Thomas BraunT Online
          Thomas Braun
          Most Active
          schrieb am zuletzt editiert von
          #4

          @MJAS sagte in SendTo-Blockly für Bilderstellung geht nicht:

          Hab ich versucht, klappt aber nicht.

          Dann ist dein System nicht richtig eingerichtet.
          Per

          iob nodejs-update
          

          In der Konsole kann ich mit root arbeiten.

          und NICHT als root!!! Nie! Auch nicht 'nur' in der Konsole. Leg dir einen user an.
          Zur Not per

          iob fix
          

          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

          1 Antwort Letzte Antwort
          0
          • M MJAS

            @Thomas-Braun
            Hab ich versucht, klappt aber nicht.
            Über die Oberfläche kann ich zwar aktualisieren, iobroker sagt auch, das Update wäre erfolgreich, aber die Versionsnummern ändern sich nicht.

            Ich hab mein System unter Proxmox laufen und mit den iobroker-Skript den iobroker installiert.
            In der Konsole kann ich mit root arbeiten.
            Hier scheitert ein "iob nodejs-update" daran, dass man eben nicht mit root arbeiten soll.
            Ich hab zwar ein iobroker-Verzeichnis unter /home, kann aber nicht mit "su iobroker" in diesen User wechseln - da erhalte ich die Meldung "This account is currently not available".
            Wenn ich mit --allow-root arbeite, kommt dennoch:

            root@iobroker:/opt/iobroker# iob nodejs-update 22 --allow-root
            Valid major version
            This script must not be run as root! 
            Please use your standard user!
            root@iobroker:/opt/iobroker# 
            
            CodierknechtC Offline
            CodierknechtC Offline
            Codierknecht
            Developer Most Active
            schrieb am zuletzt editiert von
            #5

            @MJAS sagte in SendTo-Blockly für Bilderstellung geht nicht:

            Ich hab mein System unter Proxmox laufen und mit den iobroker-Skript den iobroker installiert.
            In der Konsole kann ich mit root arbeiten.

            Das Eine hat mit dem Anderen gar nix zu tun.
            Ob Proxmox oder nicht: Man arbeitet nicht als root sondern mit 'nem eigenen User.

            f78174a4-5d03-4e65-b7fc-8ee0f4c2c858-image.png

            "Any fool can write code that a computer can understand. Good programmers write code that humans can understand." (Martin Fowler, "Refactoring")

            Proxmox 9.1.1 LXC|8 GB|Core i7-6700
            HmIP|ZigBee|Tasmota|Unifi
            Zabbix Certified Specialist
            Konnte ich Dir helfen? Dann benutze bitte das Voting unten rechts im Beitrag

            Thomas BraunT 1 Antwort Letzte Antwort
            1
            • CodierknechtC Codierknecht

              @MJAS sagte in SendTo-Blockly für Bilderstellung geht nicht:

              Ich hab mein System unter Proxmox laufen und mit den iobroker-Skript den iobroker installiert.
              In der Konsole kann ich mit root arbeiten.

              Das Eine hat mit dem Anderen gar nix zu tun.
              Ob Proxmox oder nicht: Man arbeitet nicht als root sondern mit 'nem eigenen User.

              f78174a4-5d03-4e65-b7fc-8ee0f4c2c858-image.png

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

              @Codierknecht sagte in SendTo-Blockly für Bilderstellung geht nicht:

              Man arbeitet nicht als root sondern mit 'nem eigenen User.

              ...denn dann funktioniert das auch alles (inkl. nodejs-update) wie gedacht und vorgesehen.

              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

              1 Antwort Letzte Antwort
              0
              • M Offline
                M Offline
                MJAS
                schrieb am zuletzt editiert von MJAS
                #7

                Also...
                Ist nun alles bereinigt, user iobroker ist aktiv und nodejs-update ist durchgelaufen, mein normaler User geht jetzt auch.
                Nun sehen die System-Daten so aus:

                Node.js:v22.21.0
                NPM:10.9.4
                _nodeCurrent:22.21.0
                _nodeNewest:22.21.1
                _nodeNewestNext:22.21.1
                _npmCurrent:10.9.4
                _npmNewest:10.9.4
                _npmNewestNext:10.9.4
                
                
                1 Antwort Letzte Antwort
                0
                • M MJAS

                  Hallo zusammen,
                  ich versuche, wie im Blog-Eintrag von @haus-automatisierung hier geschrieben, ein eChart-Diagramm auf Festplatte zu speichern und das ganze dann zwar nicht per Telegram, aber über Pushover zu versenden.

                  Die benötigten Pakete sind alle installiert.
                  Allerdings erhalte ich im sendTo-Block nicht den Block, wie er im Blog dargestellt ist:

                  Screenshot_20251124_124430.png

                  Ich kann zwar das Blockly importieren, aber so wie ich das Skript verstanden hab, ist der sendTo-Block ja dafür zuständig, das eCharts-Diagramm auf Platte zu speichern.
                  Das funktioniert aber bei mir nicht.
                  Aber den SendTo-Block wie im Blog erhalte ich nicht orginär in der Auswahl der Blockly-Elemente.
                  Den erhalte ich lediglich, weil ich das Skript importiert hatte.

                  Im Log steht lediglich:

                  script.js.Test2: sendTo[custom] echarts.0: preset: echarts.0.Temperatur.Heizung, renderer: jpg, background: #FFFFFF, theme: light, quality: 0.8, fileOnDisk: /opt/iobroker/iobroker-data/echarts-tmp.jpg
                  

                  Die Datei wurde mir zuerst nicht angelegt - ich hab sie über den touch-Befehl manuell erstellt und die Rechte auf den iobroker-Nutzer geändert.
                  Dateigröße bleibt aber 0 Byte.

                  Mein Skript dazu schaut so aus:
                  Screenshot_20251124_142127.png

                  Hier meine System-Daten:

                  Node.js:v20.19.5
                  NPM:10.8.2
                  _nodeCurrent:20.19.5
                  _nodeNewest:20.19.5
                  _nodeNewestNext:22.21.1
                  _npmCurrent:10.8.2
                  _npmNewest:10.8.2
                  _npmNewestNext:10.9.4
                  
                  

                  Danke für eure Unterstützung und Hilfe.

                  haus-automatisierungH Online
                  haus-automatisierungH Online
                  haus-automatisierung
                  Developer Most Active
                  schrieb am zuletzt editiert von
                  #8

                  @MJAS sagte in SendTo-Blockly für Bilderstellung geht nicht:

                  Allerdings erhalte ich im sendTo-Block nicht den Block, wie er im Blog dargestellt ist:

                  Das ist ja der komplett generische sendTo-Block. Der kommt von keinem Adapter oder so. Da werden einfach die richtigen Parameter über das Zahnrad hinzugefügt. Habe ich im Kurs auch erklärt.

                  @MJAS sagte in SendTo-Blockly für Bilderstellung geht nicht:

                  Die Datei wurde mir zuerst nicht angelegt - ich hab sie über den touch-Befehl manuell erstellt und die Rechte auf den iobroker-Nutzer geändert.

                  Das ist komplett unnötig. Wenn der Prozess nicht klappt, funktioniert eventuell etwas anderes nicht. Aktuell kann es folgende Probleme geben:

                  • Mit Node 22 brauchst Du eCharts >= 2.0.9. Am besten gleich die aktuellste Beta nutzen (2.0.10). Installation wie immer über npm und nie über GitHub.
                  • Eventuell ist auch ein Rebuild von canvas nötig:
                  cd /opt/iobroker/node_modules/canvas/
                  sudo -u iobroker npm install --omit=dev
                  

                  🧑‍🎓 Autor des beliebten ioBroker-Master-Kurses
                  🎥 Tutorials rund um das Thema DIY-Smart-Home: https://haus-automatisierung.com/
                  📚 Meine inoffizielle ioBroker Dokumentation

                  1 Antwort Letzte Antwort
                  0
                  • haus-automatisierungH Online
                    haus-automatisierungH Online
                    haus-automatisierung
                    Developer Most Active
                    schrieb am zuletzt editiert von
                    #9

                    Ach und mittlerweile würde ich eher mit den Blöcken für "Temp-Pfade" arbeiten. Dann kümmert sich der Adapter auch darum, dass alles aufgeräumt wird und nie alten Daten nicht auf der Festplatte rumliegen...

                    🧑‍🎓 Autor des beliebten ioBroker-Master-Kurses
                    🎥 Tutorials rund um das Thema DIY-Smart-Home: https://haus-automatisierung.com/
                    📚 Meine inoffizielle ioBroker Dokumentation

                    1 Antwort Letzte Antwort
                    0
                    • M Offline
                      M Offline
                      MJAS
                      schrieb am zuletzt editiert von
                      #10

                      Hallo Matthias,
                      danke für die Rückmeldung.
                      eCharts läuft bei mir in Version 2.0.10, bei canvas hab ich mit dem von Dir genannten Befehl ein Rebuild gemacht.
                      Die selber angelegte Datei hab ich gelöscht und dann mein Skript laufen lassen.
                      Allerdings klappt das nicht, die Datei wird nicht neu angelegt und ich erhalte im Protokoll folgende Meldungen:

                      Error: ENOENT: no such file or directory, open '/opt/iobroker/iobroker-data/echarts-tmp.jpg' at Object.openSync (node:fs:561:18) at Object.readFileSync (node:fs:445:35) at loadImage (/opt/iobroker/node_modules/pushover-notifications/lib/pushover.js:34:15) at Pushover.send (/opt/iobroker/node_modules/pushover-notifications/lib/pushover.js:206:51) at Pushover.sendNotification (/opt/iobroker/node_modules/iobroker.pushover/main.js:204:23) at Pushover.processMessage (/opt/iobroker/node_modules/iobroker.pushover/main.js:82:18) at Pushover.onMessage (/opt/iobroker/node_modules/iobroker.pushover/main.js:37:33) at Pushover.emit (node:events:519:28) at change (/opt/iobroker/node_modules/@iobroker/js-controller-adapter/build/cjs/lib/adapter/adapter.js:7309:20) at Immediate.<anonymous> (file:///opt/iobroker/node_modules/@iobroker/db-states-redis/build/esm/lib/states/statesInRedisClient.js:286:37)
                      pushover.0
                      	2025-11-25 18:42:00.074	error	unhandled promise rejection: ENOENT: no such file or directory, open '/opt/iobroker/iobroker-data/echarts-tmp.jpg'
                      pushover.0
                      	2025-11-25 18:42:00.074	error	Unhandled promise rejection. This error originated either by throwing inside of an async function without a catch block, or by rejecting a promise which was not handled with .catch().
                      

                      Gibt das vielleicht mehr Aufschluss, was schief läuft?

                      Danke für die Unterstützung!

                      Gruß
                      Martin

                      1 Antwort Letzte Antwort
                      0
                      • M Offline
                        M Offline
                        MJAS
                        schrieb am zuletzt editiert von
                        #11

                        Ich hab nun verstanden, was die Fehlermeldung bedeutet und @haus-automatisierung hatte ja bereits in seinem Blog die Fehlerabfangschleife mit drin, die ich dummerweise rausgeworfen hatte.

                        Mein Blockly sieht nun so aus - es wird aber dennoch kein JPG auf der Platte angelegt.
                        Im Protokoll kommt dann lediglich ein

                        script.js.Test2: timeout
                        

                        Screenshot_20251128_085753.png

                        Könnt ihr mal bitte drauf schauen, wo ich noch einen Fehler haben könnte?

                        Vielen Dank im voraus!

                        haus-automatisierungH 1 Antwort Letzte Antwort
                        0
                        • M MJAS

                          Ich hab nun verstanden, was die Fehlermeldung bedeutet und @haus-automatisierung hatte ja bereits in seinem Blog die Fehlerabfangschleife mit drin, die ich dummerweise rausgeworfen hatte.

                          Mein Blockly sieht nun so aus - es wird aber dennoch kein JPG auf der Platte angelegt.
                          Im Protokoll kommt dann lediglich ein

                          script.js.Test2: timeout
                          

                          Screenshot_20251128_085753.png

                          Könnt ihr mal bitte drauf schauen, wo ich noch einen Fehler haben könnte?

                          Vielen Dank im voraus!

                          haus-automatisierungH Online
                          haus-automatisierungH Online
                          haus-automatisierung
                          Developer Most Active
                          schrieb am zuletzt editiert von
                          #12

                          @MJAS sagte in SendTo-Blockly für Bilderstellung geht nicht:

                          Könnt ihr mal bitte drauf schauen, wo ich noch einen Fehler haben könnte?

                          Timeout heißt ja nur, dass Dein System das nicht schnell genug zurückliefert. Muss mal schauen, ob man den Timeout per Blockly aktuell übergeben kann, oder ob das immer ein Stadardwert ist.

                          🧑‍🎓 Autor des beliebten ioBroker-Master-Kurses
                          🎥 Tutorials rund um das Thema DIY-Smart-Home: https://haus-automatisierung.com/
                          📚 Meine inoffizielle ioBroker Dokumentation

                          M 1 Antwort Letzte Antwort
                          0
                          • haus-automatisierungH haus-automatisierung

                            @MJAS sagte in SendTo-Blockly für Bilderstellung geht nicht:

                            Könnt ihr mal bitte drauf schauen, wo ich noch einen Fehler haben könnte?

                            Timeout heißt ja nur, dass Dein System das nicht schnell genug zurückliefert. Muss mal schauen, ob man den Timeout per Blockly aktuell übergeben kann, oder ob das immer ein Stadardwert ist.

                            M Offline
                            M Offline
                            MJAS
                            schrieb am zuletzt editiert von
                            #13

                            @haus-automatisierung Konntest Du rausfinden, ob man den Timeout in Blockly übergeben kann?

                            1 Antwort Letzte Antwort
                            0
                            • haus-automatisierungH Online
                              haus-automatisierungH Online
                              haus-automatisierung
                              Developer Most Active
                              schrieb am zuletzt editiert von
                              #14

                              So wie ich das sehe wird aktuell immer der Default von 2000 ms genutzt.

                              🧑‍🎓 Autor des beliebten ioBroker-Master-Kurses
                              🎥 Tutorials rund um das Thema DIY-Smart-Home: https://haus-automatisierung.com/
                              📚 Meine inoffizielle ioBroker Dokumentation

                              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

                              723

                              Online

                              32.6k

                              Benutzer

                              82.2k

                              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