Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. glitzi

    NEWS

    • Neuer Blog: Fotos und Eindrücke aus Solingen

    • ioBroker@Smart Living Forum Solingen, 14.06. - Agenda added

    • ioBroker goes Matter ... Matter Adapter in Stable

    G
    • Profile
    • Following 0
    • Followers 0
    • Topics 8
    • Posts 142
    • Best 5
    • Groups 2

    glitzi

    @glitzi

    Starter

    5
    Reputation
    28
    Profile views
    142
    Posts
    0
    Followers
    0
    Following
    Joined Last Online

    glitzi Follow
    Pro Starter

    Best posts made by glitzi

    • RE: Request ablösen durch httpget

      @haus-automatisierung

      Perfekt,

      das ist die Lösung!
      Das ist ja viel bequemer wie mein altes Script.

      Danke !

      posted in JavaScript
      G
      glitzi
    • RE: Fehlermeldung nach dem Update auf node.js 14.18.2

      @arteck

      Bestes Forum!!!

      DANKE es geht wieder.

      Ich sehe gerade das ich einen neuen Thread aufgemacht habe, eigentlich sollte es in diesen "Daten Seriell von Paradigma Solaranlage lesen"

      posted in Skripten / Logik
      G
      glitzi
    • RE: Parser Adapter Werte Zeilenweise auslesen (Guntamatic)

      @esmax666

      Von einem Adapter bin ich leider mit meinen Programmierkenntnissen meilenweit entfernt,
      Aber das Skript tut seinen Dienst…

      posted in ioBroker Allgemein
      G
      glitzi
    • RE: Request ablösen durch httpget

      Sorry,
      irgendwie konnte ich kein neues Thema erstellen und habe mich an ein anderes drangehangen, nach einem Browser Neustart funktioniert es jetzt.

      posted in JavaScript
      G
      glitzi
    • RE: Parser Adapter Werte Zeilenweise auslesen (Guntamatic)

      @esmax666

      Moin,

      Sollte eigentlich funktionieren, die Werte werden ja nur zeilenweise von der Webseite gelesen.
      Ob die Zuordnung passt siehst du leicht selber über folgende URL‘s und kannst ggf. das Skript anpassen.

      Werte:
      http://IP.IP.IP.IP/daqdata.cgi

      Beschreibung:
      http://IP.IP.IP.IP/daqdesc.cgi

      posted in ioBroker Allgemein
      G
      glitzi

    Latest posts made by glitzi

    • RE: Test Adapter VW Connect für VW, ID, Audi, Seat, Skoda

      Hallo,
      bei den Urlaubsvorbereitungen bin ich noch über folgendes gestolpert.

      Fahrzeug:
      Cupra Born SW 3.x

      • es gibt unter "Remote" keinen Datenpunkt um das Ladeziel in % anzupassen

      • Der unter "vw-connect.0.xxxx.status.services.charging.targetPct"
        angezeigte Wert stimmt nicht mit der Realität überein.

      posted in Tester
      G
      glitzi
    • RE: Parser Adapter Werte Zeilenweise auslesen (Guntamatic)

      @devhoh

      Hallo,
      quittieren sollte man auch nur vor Ort, meist liegt dann auch eine Störung vor die begutachtet werden sollte.

      Und so wie ich die Dokumentation lese, ist dies auch nicht vorgesehen, man könnte ggf. den Traffic der Guntamatic-App mal mitschneiden und schauen was die so sendet.
      Aber für diese seltene Fälle nutze ich dann einfach die APP oder den Finger vor Ort.

      mfg

      posted in ioBroker Allgemein
      G
      glitzi
    • RE: E-INK Display OpenEPaperLink - Displayanzeige mit Batterie

      @foxriver76
      Von mir auch, funktioniert einwandfrei 👍

      posted in Praktische Anwendungen (Showcase)
      G
      glitzi
    • RE: E-INK Display OpenEPaperLink - Displayanzeige mit Batterie

      @foxriver76

      
      Hier der Auszug
      
      **V0.3.0**
      
      script.js.ESP-E-INK.VIS-View-an-eTag-senden: {"result":{"type":"Buffer","data":[255,216,255,224,0,16,74,70,73,70,0,1,1,0,0,1,0,1,0,0, 
       
      ....... gekürzt
      
      6,125,67,126,114,81,96,215,6,215,200,108,126,159,93,53,210,219,199,230,111,26,150,155,50,223,42,241,147,98,90,182,250,87,37,27,44,182,76,173,234,196,86,67,221,64,146,99,103,143,42,25,108,82,81,71,192,201,41,147,149,22,59,218,146,39,113,195,135,14,17,127,255,217]}}
      
      
      **V0.4.0**
      
      javascript.0
      2024-10-31 18:26:12.966	error	at processImmediate (node:internal/timers:483:21)
      
      javascript.0
      2024-10-31 18:26:12.966	error	at Immediate._onImmediate (file:///opt/iobroker/node_modules/@iobroker/db-states-redis/src/lib/states/statesInRedisClient.ts:381:37)
      
      javascript.0
      2024-10-31 18:26:12.966	error	at change (/opt/iobroker/node_modules/@iobroker/js-controller-adapter/src/lib/adapter/adapter.ts:10886:45)
      
      javascript.0
      2024-10-31 18:26:12.966	error	at Object.cb (/opt/iobroker/node_modules/iobroker.javascript/lib/sandbox.js:3097:38)
      
      javascript.0
      2024-10-31 18:26:12.966	error	at Object.<anonymous> (script.js.ESP-E-INK.VIS-View-an-eTag-senden:44:24)
      
      javascript.0
      2024-10-31 18:26:12.965	error	at Function.from (node:buffer:320:9)
      
      javascript.0
      2024-10-31 18:26:12.965	error	Error in callback: TypeError: The first argument must be of type string or an instance of Buffer, ArrayBuffer, or Array or an Array-like Object. Received an instance of Object
      
      javascript.0
      2024-10-31 18:26:12.962	info	script.js.ESP-E-INK.VIS-View-an-eTag-senden: {"result":{"0":255,"1":216,"2":255,"3":224,"4":0,"5":16,"6":74,"7":70,"8":73,"9":70,"10":0,"11":1,"12":1,"13":0,"14":0,"15":1,"16":0,"17":1,"18":0,"19":0,"20":255,"21":226,"
      
      ....... gekürzt
      
      "20617":201,"20618":202,"20619":139,"20620":29,"20621":237,"20622":73,"20623":19,"20624":184,"20625":225,"20626":195,"20627":135,"20628":8,"20629":191,"20630":255,"20631":217}}
      
      
      
      posted in Praktische Anwendungen (Showcase)
      G
      glitzi
    • RE: E-INK Display OpenEPaperLink - Displayanzeige mit Batterie

      @foxriver76
      Ich bin ja nicht so der Programmierer, ehr der C&P Typ, wie bekomme ich denn da dran?

      posted in Praktische Anwendungen (Showcase)
      G
      glitzi
    • RE: E-INK Display OpenEPaperLink - Displayanzeige mit Batterie

      @foxriver76
      Schau mal bitte hier, seit dem Update auf die 0.4.0 habe ich Probleme und bin zurück auf die 0.3.0.

      https://forum.iobroker.net/topic/66380/e-ink-display-openepaperlink-displayanzeige-mit-batterie/789

      posted in Praktische Anwendungen (Showcase)
      G
      glitzi
    • RE: E-INK Display OpenEPaperLink - Displayanzeige mit Batterie

      Hallo,

      seit dem Update von Pupeteer auf 0.4.0 bekomme ich folgende Fehlermeldung.

      
      javascript.0
      2024-10-28 18:54:02.284	error	at processImmediate (node:internal/timers:483:21)
      
      javascript.0
      2024-10-28 18:54:02.284	error	at Immediate._onImmediate (file:///opt/iobroker/node_modules/@iobroker/db-states-redis/src/lib/states/statesInRedisClient.ts:381:37)
      
      javascript.0
      2024-10-28 18:54:02.284	error	at change (/opt/iobroker/node_modules/@iobroker/js-controller-adapter/src/lib/adapter/adapter.ts:10886:45)
      
      javascript.0
      2024-10-28 18:54:02.284	error	at Object.cb (/opt/iobroker/node_modules/iobroker.javascript/lib/sandbox.js:3097:38)
      
      javascript.0
      2024-10-28 18:54:02.284	error	at Object.<anonymous> (script.js.ESP-E-INK.VIS-View-an-eTag-senden:43:24)
      
      javascript.0
      2024-10-28 18:54:02.284	error	at Function.from (node:buffer:320:9)
      
      javascript.0
      2024-10-28 18:54:02.283	error	Error in callback: TypeError: The first argument must be of type string or an instance of Buffer, ArrayBuffer, or Array or an Array-like Object. Received an instance of Object
      

      Hier mein Script

      
      sendTo('puppeteer.0', 'screenshot', { 
          url: urlOfVISView,                     
          path: imageSaveToFilenameWithPath,     
          width: viewWidth,                      
          height: viewHeight,                    
          quality: jpgQuality,                   
       
          waitOption: {
              waitForSelector: waitForSelector,  
              waitForTimeout: 30000              
          },
       
          fullPage: false,                       
       
          clip: {         
              x: cutoutX,                        
              y: cutoutY,                        
              width: cutoutWidth,                
              height: cutoutHeight               
          }
      }, obj => {
          if (obj.error) {
              console.warn("Fehler beim Aufruf der View: " + urlOfVISView + " => " + obj.error.message);
          } else {
              const http = require('http'); 
              const https = require('https');
              const { URL } = require('url');
       
              const boundary = '--------------------------' + Date.now().toString(16);
              const CRLF = '\r\n';
       
              // Payload-Erstellung
              const payload = Buffer.concat([
                  Buffer.from(`--${boundary}${CRLF}Content-Disposition: form-data; name="dither"${CRLF}${CRLF}${dither}${CRLF}`),
                  Buffer.from(`--${boundary}${CRLF}Content-Disposition: form-data; name="mac"${CRLF}${CRLF}${ePaperMAC}${CRLF}`),
                  Buffer.from(`--${boundary}${CRLF}Content-Disposition: form-data; name="image"; filename="screenshot.jpg"${CRLF}Content-Type: image/jpeg${CRLF}${CRLF}`),
                  Buffer.from(obj.result, 'binary'),
                  Buffer.from(`${CRLF}--${boundary}--${CRLF}`)
              ]);
       
              // URL Parsing
              const url = new URL(imageUploadURL);
              const options = {
                  hostname: url.hostname,
                  port: url.port || (url.protocol === 'https:' ? 443 : 80),
                  path: url.pathname + (url.search || ''),
                  method: 'POST',
                  headers: {
                      'Content-Type': 'multipart/form-data; boundary=' + boundary,
                      'Content-Length': payload.length
                  }
              };
       
              // Protokollwahl
              const protocol = url.protocol === 'https:' ? https : http;
       
              // HTTP Request
              const req = protocol.request(options, function(res) {
                  console.log('ImageUploadStatusCode:', res.statusCode);
                  res.on('data', function(chunk) {
                      console.log('Response:', chunk.toString());
                  });
              });
       
              req.on('error', function(e) {
                  console.error('Fehler beim Hochladen:', e.message);
              });
       
              req.write(payload);
              req.end();
          }
      });
      
      
      posted in Praktische Anwendungen (Showcase)
      G
      glitzi
    • RE: E-INK Display OpenEPaperLink - Displayanzeige mit Batterie

      @beowolf sagte in E-INK Display OpenEPaperLink - Displayanzeige mit Batterie:

      @bananajoe

      So, ich habe jetzt das Skript mal ein wenig umgebaut.

      sendTo('puppeteer.0', 'screenshot', { 
          url: urlOfVISView,                     
          path: imageSaveToFilenameWithPath,     
          width: viewWidth,                      
          height: viewHeight,                    
          quality: jpgQuality,                   
      
          waitOption: {
              waitForSelector: waitForSelector,  
              waitForTimeout: 20000              
          },
      
          fullPage: false,                       
      
          clip: {         
              x: cutoutX,                        
              y: cutoutY,                        
              width: cutoutWidth,                
              height: cutoutHeight               
          }
      }, obj => {
          if (obj.error) {
              console.warn("Fehler beim Aufruf der View: " + urlOfVISView + " => " + obj.error.message);
          } else {
              const http = require('http'); 
              const https = require('https');
              const { URL } = require('url');
      
              const boundary = '--------------------------' + Date.now().toString(16);
              const CRLF = '\r\n';
      
              // Payload-Erstellung
              const payload = Buffer.concat([
                  Buffer.from(`--${boundary}${CRLF}Content-Disposition: form-data; name="dither"${CRLF}${CRLF}0${CRLF}`),
                  Buffer.from(`--${boundary}${CRLF}Content-Disposition: form-data; name="mac"${CRLF}${CRLF}${ePaperMAC}${CRLF}`),
                  Buffer.from(`--${boundary}${CRLF}Content-Disposition: form-data; name="image"; filename="screenshot.jpg"${CRLF}Content-Type: image/jpeg${CRLF}${CRLF}`),
                  Buffer.from(obj.result, 'binary'),
                  Buffer.from(`${CRLF}--${boundary}--${CRLF}`)
              ]);
      
              // URL Parsing
              const url = new URL(imageUploadURL);
              const options = {
                  hostname: url.hostname,
                  port: url.port || (url.protocol === 'https:' ? 443 : 80),
                  path: url.pathname + (url.search || ''),
                  method: 'POST',
                  headers: {
                      'Content-Type': 'multipart/form-data; boundary=' + boundary,
                      'Content-Length': payload.length
                  }
              };
      
              // Protokollwahl
              const protocol = url.protocol === 'https:' ? https : http;
      
              // HTTP Request
              const req = protocol.request(options, function(res) {
                  console.log('ImageUploadStatusCode:', res.statusCode);
                  res.on('data', function(chunk) {
                      console.log('Response:', chunk.toString());
                  });
              });
      
              req.on('error', function(e) {
                  console.error('Fehler beim Hochladen:', e.message);
              });
      
              req.write(payload);
              req.end();
          }
      });
      

      Na ja, ich bin jetzt mal ehrlich. Ich habe ChatGPT solange damit gernervt bis ich eine Version hatte die jetzt funktioniert.

      Ich habe keine Ahnung was da wie gemacht wird, aber es läuft. Die TAG werden sehr schnell aktualisiert und alles ohne Fehlermeldungen. 😊

      Grüße
      Manfred

      Haben wir hier jemanden der noch die Funktion groß/klein Skalieren für die bessere Bildqualität einbauen kann?

      posted in Praktische Anwendungen (Showcase)
      G
      glitzi
    • RE: Request ablösen durch httpget

      @haus-automatisierung sagte in Request ablösen durch httpget:

                                                                                                                                   schedule('*/30 * * * *', () => {                                                                                                                                                                                httpGet('https://api.forecast.solar/estimate/51,11,23/9,12,54/30/28/12.73', { timeout: 2000 }, (err, response) => {                                                                                                                                                                                    if (err) {                                                                                                                                                                                        console.error(err);                                                                                                                                                                                    } else if (response.statusCode == 200) {                                                                                                                                                                                        const res = JSON.parse(response.data).result.watts;                                                                                                                                                                                                                                                                                                                                                                     for (const [key, val] of Object.entries(res)) {                                                                                                                                                                                            sendTo('influxdb.0', 'storeState', {                                                                                                                                                                                                id: 'javascript.0.e3dc.PV_Forecast',                                                                                                                                                                                                state: {                                                                                                                                                                                                    ts: new Date(key).getTime(),                                                                                                                                                                                                    val,                                                                                                                                                                                                    ack: true,                                                                                                                                                                                                    from: 'javascript.0',                                                                                                                                                                                                    q: 0                                                                                                                                                                                                }                                                                                                                                                                                            });                                                                                                                                                                                        }                                                                                                                                                                                    }                                                                                                                                                                                });                                                                                                                                                                            });                                            
      

      Funktioniert, Danke!

      posted in JavaScript
      G
      glitzi
    • RE: Request ablösen durch httpget

      @paul53

      v8.3.1, glaube gestern erst ein update gemacht, daher bin ich aktiv geworden 😉

      posted in JavaScript
      G
      glitzi
    Community
    Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen
    The ioBroker Community 2014-2023
    logo