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. Einsteigerfragen
  4. [gelöst] Datenpunkt mit base64 in Bilddatei schreiben

NEWS

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

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

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

[gelöst] Datenpunkt mit base64 in Bilddatei schreiben

Geplant Angeheftet Gesperrt Verschoben Einsteigerfragen
15 Beiträge 3 Kommentatoren 672 Aufrufe 3 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.
  • A Offline
    A Offline
    accessburn
    schrieb am zuletzt editiert von
    #5

    Okay, ich komme null weiter...

    data:image/png;base64,iVBORw0KGgoAAAANSUhEUg...
    

    Das steht im Datenpunkt und ich möchte ein Script haben dass mir beim ändern des Datenpunkts, das Bild daraus auf das Laufwerk legt. Kann mir da jemand helfen?

    1 Antwort Letzte Antwort
    0
    • OliverIOO Offline
      OliverIOO Offline
      OliverIO
      schrieb am zuletzt editiert von OliverIO
      #6

      @accessburn

      https://stackoverflow.com/questions/6926016/how-can-i-save-a-base64-encoded-image-to-disk

      let imgstr = getState("datepunktidmitbild");
      var base64Data = imgstr.rawBody.replace(/^data:image\/png;base64,/, "");
      require("fs").writeFile("out.png", base64Data, 'base64', function(err) {
        console.log(err);
      });
      

      Meine Adapter und Widgets
      TVProgram, SqueezeboxRPC, OpenLiga, RSSFeed, MyTime,, pi-hole2, vis-json-template, skiinfo, vis-mapwidgets, vis-2-widgets-rssfeed
      Links im Profil

      A 1 Antwort Letzte Antwort
      0
      • OliverIOO OliverIO

        @accessburn

        https://stackoverflow.com/questions/6926016/how-can-i-save-a-base64-encoded-image-to-disk

        let imgstr = getState("datepunktidmitbild");
        var base64Data = imgstr.rawBody.replace(/^data:image\/png;base64,/, "");
        require("fs").writeFile("out.png", base64Data, 'base64', function(err) {
          console.log(err);
        });
        
        A Offline
        A Offline
        accessburn
        schrieb am zuletzt editiert von
        #7

        Danke @oliverio , habe ich einfach mal kopiert und die werte angepasst.
        76938d8c-b342-4f18-97dc-7499596aea69-image.png

        haus-automatisierungH OliverIOO 2 Antworten Letzte Antwort
        0
        • A accessburn

          Danke @oliverio , habe ich einfach mal kopiert und die werte angepasst.
          76938d8c-b342-4f18-97dc-7499596aea69-image.png

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

          @accessburn

          const value = getState('mihome-vacuum.0.cleanmap.map64').val;
          const base64str = value.replace(/^data:image\/png;base64,/, '');
          const base64data = Buffer.from(base64str, 'base64');
          
          writeFile('0_userdata.0', '/cleanmap.png', base64data, (err) => {
              if (!err) {
                  console.info('File written');
              } else {
                  console.error(err);
              }
          });
          

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

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

            @accessburn

            const value = getState('mihome-vacuum.0.cleanmap.map64').val;
            const base64str = value.replace(/^data:image\/png;base64,/, '');
            const base64data = Buffer.from(base64str, 'base64');
            
            writeFile('0_userdata.0', '/cleanmap.png', base64data, (err) => {
                if (!err) {
                    console.info('File written');
                } else {
                    console.error(err);
                }
            });
            
            A Offline
            A Offline
            accessburn
            schrieb am zuletzt editiert von
            #9

            @haus-automatisierung

            on({ id: [].concat(['mihome-vacuum.0.cleanmap.map64']), change: 'ne' }, async (obj) => {
            
                const value = getState('mihome-vacuum.0.cleanmap.map64').val;
                const base64str = value.replace(/^data:image\/png;base64,/, '');
                const base64data = Buffer.from(base64str, 'base64');
                
                writeFile('0_userdata.0', '/cleanmap.png', base64data, (err) => {
                    if (!err) {
                        console.info('File written');
                    } else {
                        console.error(err);
                    }
                });
            
              // console.error(getState('mihome-vacuum.0.cleanmap.map64').val);
            });
            

            Vielen Dank, das klappte schon mal auf anhieb.
            Macht das so Sinn mit dem "change"?

            haus-automatisierungH 1 Antwort Letzte Antwort
            0
            • A accessburn

              @haus-automatisierung

              on({ id: [].concat(['mihome-vacuum.0.cleanmap.map64']), change: 'ne' }, async (obj) => {
              
                  const value = getState('mihome-vacuum.0.cleanmap.map64').val;
                  const base64str = value.replace(/^data:image\/png;base64,/, '');
                  const base64data = Buffer.from(base64str, 'base64');
                  
                  writeFile('0_userdata.0', '/cleanmap.png', base64data, (err) => {
                      if (!err) {
                          console.info('File written');
                      } else {
                          console.error(err);
                      }
                  });
              
                // console.error(getState('mihome-vacuum.0.cleanmap.map64').val);
              });
              

              Vielen Dank, das klappte schon mal auf anhieb.
              Macht das so Sinn mit dem "change"?

              haus-automatisierungH Offline
              haus-automatisierungH Offline
              haus-automatisierung
              Developer Most Active
              schrieb am zuletzt editiert von haus-automatisierung
              #10

              @accessburn sagte in Datenpunkt mit base64 in Bilddatei schreiben:

              Macht das so Sinn mit dem "change"?

              Ja, wenn es nur eine ID ist, würde ich mir aber das Array sparen:

              on({ id: 'mihome-vacuum.0.cleanmap.map64', change: 'ne' }, async (obj) => {
              

              Und Du kannst direkt mit dem Wert arbeiten (ohne den nochmal zu holen):

              on({ id: 'mihome-vacuum.0.cleanmap.map64', change: 'ne' }, async (obj) => {
                  const value = obj.state.val;
                  const base64str = value.replace(/^data:image\/png;base64,/, '');
                  const base64data = Buffer.from(base64str, 'base64');
                  
                  writeFile('0_userdata.0', '/cleanmap.png', base64data, (err) => {
                      if (!err) {
                          console.info('File written');
                      } else {
                          console.error(err);
                      }
                  });
              });
              

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

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

                @accessburn sagte in Datenpunkt mit base64 in Bilddatei schreiben:

                Macht das so Sinn mit dem "change"?

                Ja, wenn es nur eine ID ist, würde ich mir aber das Array sparen:

                on({ id: 'mihome-vacuum.0.cleanmap.map64', change: 'ne' }, async (obj) => {
                

                Und Du kannst direkt mit dem Wert arbeiten (ohne den nochmal zu holen):

                on({ id: 'mihome-vacuum.0.cleanmap.map64', change: 'ne' }, async (obj) => {
                    const value = obj.state.val;
                    const base64str = value.replace(/^data:image\/png;base64,/, '');
                    const base64data = Buffer.from(base64str, 'base64');
                    
                    writeFile('0_userdata.0', '/cleanmap.png', base64data, (err) => {
                        if (!err) {
                            console.info('File written');
                        } else {
                            console.error(err);
                        }
                    });
                });
                
                A Offline
                A Offline
                accessburn
                schrieb am zuletzt editiert von
                #11

                @haus-automatisierung sagte in Datenpunkt mit base64 in Bilddatei schreiben:

                n({ id: 'mihome-vacuum.0.cleanmap.map64', change: 'ne' }, async (obj) => {

                Sehr cool. Danke! :hearts:
                Diese Sprache beherrsche ich einfach nicht. Bin in PHP groß geworden ;-)

                haus-automatisierungH 1 Antwort Letzte Antwort
                0
                • A accessburn

                  @haus-automatisierung sagte in Datenpunkt mit base64 in Bilddatei schreiben:

                  n({ id: 'mihome-vacuum.0.cleanmap.map64', change: 'ne' }, async (obj) => {

                  Sehr cool. Danke! :hearts:
                  Diese Sprache beherrsche ich einfach nicht. Bin in PHP groß geworden ;-)

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

                  @accessburn sagte in Datenpunkt mit base64 in Bilddatei schreiben:

                  Bin in PHP groß geworden

                  Ja, ich auch.

                  Gerade 2 Tage lang alle PHP-Klassen des Online-Shops auf PHP 8.3 und strict types umgestellt...

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

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

                    @accessburn sagte in Datenpunkt mit base64 in Bilddatei schreiben:

                    Bin in PHP groß geworden

                    Ja, ich auch.

                    Gerade 2 Tage lang alle PHP-Klassen des Online-Shops auf PHP 8.3 und strict types umgestellt...

                    A Offline
                    A Offline
                    accessburn
                    schrieb am zuletzt editiert von
                    #13

                    @haus-automatisierung
                    Na das passt ja. :-)

                    Aber Frage, würde sich das mit Blockly umsetzen lassen?

                    haus-automatisierungH 1 Antwort Letzte Antwort
                    0
                    • A accessburn

                      @haus-automatisierung
                      Na das passt ja. :-)

                      Aber Frage, würde sich das mit Blockly umsetzen lassen?

                      haus-automatisierungH Offline
                      haus-automatisierungH Offline
                      haus-automatisierung
                      Developer Most Active
                      schrieb am zuletzt editiert von
                      #14

                      @accessburn sagte in Datenpunkt mit base64 in Bilddatei schreiben:

                      würde sich das mit Blockly umsetzen lassen?

                      Zu 90%, ja.

                      🧑‍🎓 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
                      • A accessburn

                        Danke @oliverio , habe ich einfach mal kopiert und die werte angepasst.
                        76938d8c-b342-4f18-97dc-7499596aea69-image.png

                        OliverIOO Offline
                        OliverIOO Offline
                        OliverIO
                        schrieb am zuletzt editiert von
                        #15

                        @accessburn

                        ahja das rawbody hatte ich nicht entfernt

                        Meine Adapter und Widgets
                        TVProgram, SqueezeboxRPC, OpenLiga, RSSFeed, MyTime,, pi-hole2, vis-json-template, skiinfo, vis-mapwidgets, vis-2-widgets-rssfeed
                        Links im Profil

                        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

                        726

                        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