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.9k

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

  • 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 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 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 Offline
          haus-automatisierungH Offline
          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 Offline
            haus-automatisierungH Offline
            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 Offline
                  haus-automatisierungH Offline
                  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 Offline
                      haus-automatisierungH Offline
                      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

                      308

                      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