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
    17
    1
    2.1k

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

  • Weihnachtsangebot 2025! 🎄
    BluefoxB
    Bluefox
    25
    1
    2.2k

SendTo-Blockly für Bilderstellung geht nicht

Geplant Angeheftet Gesperrt Verschoben Skripten / Logik
14 Beiträge 4 Kommentatoren 385 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 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 Online
          CodierknechtC Online
          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

                            794

                            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