Weiter zum Inhalt
  • Home
  • Aktuell
  • Tags
  • 0 Ungelesen 0
  • Kategorien
  • Unreplied
  • Beliebt
  • GitHub
  • Docu
  • Hilfe
Skins
  • Hell
  • Brite
  • Cerulean
  • Cosmo
  • Flatly
  • Journal
  • Litera
  • Lumen
  • Lux
  • Materia
  • Minty
  • Morph
  • Pulse
  • Sandstone
  • Simplex
  • Sketchy
  • Spacelab
  • United
  • Yeti
  • Zephyr
  • Dunkel
  • 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

  • Neues YouTube-Video: Visualisierung im Devices-Adapter
    BluefoxB
    Bluefox
    13
    1
    1.5k

  • Neuer ioBroker-Blog online: Monatsrückblick März/April 2026
    BluefoxB
    Bluefox
    8
    1
    2.3k

  • Verwendung von KI bitte immer deutlich kennzeichnen
    HomoranH
    Homoran
    11
    1
    1.1k

[gelöst] Datenpunkt mit base64 in Bilddatei schreiben

Geplant Angeheftet Gesperrt Verschoben Einsteigerfragen
15 Beiträge 3 Kommentatoren 913 Aufrufe 3 Beobachtet
  • Ä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 Online
          haus-automatisierungH Online
          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 Online
              haus-automatisierungH Online
              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! ♥
                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! ♥
                  Diese Sprache beherrsche ich einfach nicht. Bin in PHP groß geworden ;-)

                  haus-automatisierungH Online
                  haus-automatisierungH Online
                  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 Online
                      haus-automatisierungH Online
                      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

                        Hey! Du scheinst an dieser Unterhaltung interessiert zu sein, hast aber noch kein Konto.

                        Hast du es satt, bei jedem Besuch durch die gleichen Beiträge zu scrollen? Wenn du dich für ein Konto anmeldest, kommst du immer genau dorthin zurück, wo du zuvor warst, und kannst dich über neue Antworten benachrichtigen lassen (entweder per E-Mail oder Push-Benachrichtigung). Du kannst auch Lesezeichen speichern und Beiträge positiv bewerten, um anderen Community-Mitgliedern deine Wertschätzung zu zeigen.

                        Mit deinem Input könnte dieser Beitrag noch besser werden 💗

                        Registrieren Anmelden
                        Antworten
                        • In einem neuen Thema antworten
                        Anmelden zum Antworten
                        • Älteste zuerst
                        • Neuste zuerst
                        • Meiste Stimmen


                        Support us

                        ioBroker
                        Community Adapters
                        Donate

                        560

                        Online

                        32.9k

                        Benutzer

                        83.2k

                        Themen

                        1.3m

                        Beiträge
                        Community
                        Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen | Einwilligungseinstellungen
                        ioBroker Community 2014-2026
                        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