Skip to content

ioBroker Allgemein

29.7k Topics 437.3k Posts
Integrationtsplattform für IoT

NEWS

  • Tuya Adapter HF- Gateway

    1
    2
    0 Votes
    1 Posts
    147 Views
    No one has replied
  • Homepod Temperatur und Luftfreuchtigkeit auswerten

    3
    0 Votes
    3 Posts
    606 Views
    G
    @christobal0815 Du kannst die Werte des Sensors in den Apple Kurzbefehlen nutzen. Bedeutet, du kannst theoretisch einen Shortcut / eine Automation erstellen, der dir die Werte regelmäßig vom iPad / iPhone an deinen ioBroker sendet (Simple API z. B.). In wie fern das auf die Akkulaufzeit des iPhones geht weiß ich nicht. Problem sind auch die Trigger. Apple hat da leider keinen Trigger, der in Minutenabständen greift. Ich hab zumindest keinen sinnvollen Trigger gefunden und das Thema dann auf Eis gelegt. Vielleicht findest du ja eine Lösung mit dem Hinweis.
  • vis-justgage wird im browser nicht mehr angezeigt

    Moved
    14
    0 Votes
    14 Posts
    1k Views
    mcm1957M
    @josche Version 2.1.0-alpha.0 steht auf NPM (!) zum Test zuer Verfügung Siehe dieser Thread https://forum.iobroker.net/topic/70539/vis1-problem-mit-justgage/43 Bitte auch dirt weiter diskutiern / Feedback geben. Danke mcm1957
  • [gelöst] Timestamp online umrechnen

    timestamp
    5
    2
    0 Votes
    5 Posts
    679 Views
    metaxaM
    @bahnuhr Lieben Dank! Ich habe mir meine gewünschte Funktion in Blockly zusammengeklickt :-) [image: 1702135926064-359ab770-696d-403e-bb54-e8f40bd8f004-image.png]
  • VIS Iframe - keine Eingabe möglich

    2
    0 Votes
    2 Posts
    169 Views
    OliverIOO
    @ingo-2 schau mal in den webdeveloper tools im browser mit F12 in die console. evtl steht da was von security einschränkung auch wenn das protokoll der eingebettete seite mit der aufgerufenen seite nicht übereinstimmt, gibt es ebenfalls einschränkungen (also http mit https oder umgekehrt) das sind sicherheitsfunktionen, die verhindern sollen, das andere seiten sich in eine seite setzen, dort informationen abgreifen und dann im hintergrund weitersenden. (bspw über eine werbeanzeige getarnt in deinem web-email account)
  • Adapter TR-064 Variablebinhalt von calleeName u. callerName

    1
    0 Votes
    1 Posts
    93 Views
    No one has replied
  • IoT - Alexa Geräte V3

    3
    1
    0 Votes
    3 Posts
    497 Views
    von.cartmanV
    @arteck dann verschwindet die Amazon Alexa V3 ebenso [image: 1702122181038-abed1386-c3a4-428b-8043-2fbcfc1063d2-image.png]
  • MiBoxer 5in1 LED Controller API

    2
    0 Votes
    2 Posts
    213 Views
    D
    @sven-reichert hast Du eine andere Möglichkeit gefunden? Ich habe mir ein paar LED Strips gekauft, die einen Miboxer LS2 5-in-1-controller dabei haben. Dieser kann allerdings nur "2.4GHz". Um ehrlich zu sein, verstehe ich nicht, wie ich diesen ansteuern soll. Ich habe gesehen, dass es ein WiFi Gateway von MiBoxer gibt. Muss ich das dazu kaufen?
  • Io Broker lässt sich nicht öffnen nach Backup

    9
    0 Votes
    9 Posts
    811 Views
    HomoranH
    @mattn11 sagte in Io Broker lässt sich nicht öffnen nach Backup: was ist Bet Repo? das sollte bei dir im Admin aber ganz oben als gelb markierter Warnhinweis stehen.
  • Script: Ein Rollladen schaltet nicht

    9
    4
    0 Votes
    9 Posts
    249 Views
    T
    @da_woody Ja, Device reboot, und Neustart der Instanzen Shelly und Javascript, aber keine Änderung
  • ioBroker Webserver läuft nicht.

    10
    0 Votes
    10 Posts
    383 Views
    Thomas BraunT
    @stefan-falt sagte in ioBroker Webserver läuft nicht.: Jetzt habe ich aber den WebServer aktualisiert. Jetzt gehts wieder facepalm Joh, wie immer: Kiste insgesamt auf Stand halten, dann 'runnt das Süstäm' auch.
  • vis-2 über cloud: Leere Widgets

    4
    2
    0 Votes
    4 Posts
    488 Views
    arteckA
    @ammawel sagte in vis-2 über cloud: Leere Widgets: und einiges mehr funktionieren ja nur weil es funktioniert heisst es nicht dass alles geht.. da nicht freigegeben
  • Keine Verbindung vom ESP-01S (Tasmota) zum ioBroker [gelöst]

    Moved
    6
    0 Votes
    6 Posts
    165 Views
    MartinSUM
    @ralla66 Ich habe gesehen, dass Du den MQTT Adapter im ioBroker benutzt (ich hatte sonoff benutzt, hatte ich irgendwo mal gelesen) Ich habe den "MQTT Broker/Client" benutzt und als Master koniguriert. (dann sieht es auch so aus wie bei sonoff) Zuerst habe ich mir natürlich selber ein Bein gestellt und mich gewundert, dass bei mqtt/0/stat/myESP/Result kein Ergebnis kommt. Naja, man sollte auch an der richtigen Stelle lesen, bei mqtt/0/tele/myESP/Result Wenn man weiss wie das alles funktioniert, ist es eigentlich ganz einfach. Vielen Dank ralla66! VG Martin
  • Daten für Vielflieger sammeln

    6
    0 Votes
    6 Posts
    308 Views
    ldittmarL
    Ich habe jetzt ein Skript geschrieben, um alle mögliche Daten eines Reiseziels anzeigen zu können. Vielleicht braucht das noch irgendjemand... //Settings const iCalID = 'ical.5.data.table'; //ID des Terminkalenders im ical Adapter const flightTerm = 'Flug '; //wie heißen die Termine Bsp: Flug New York - Termin als Ganztagstermin über den gesamten Aufenthalt const apiKey = 'xxxxxxxx'; // API Key für weather.visualcrossing.com const weatherIcons = '0_userdata.0/Wetter_Icons' //Link zu den Wetter-Icons - hier gibt es die Sets zum runterladen https://github.com/visualcrossing/WeatherIcons //Create Objects createState("0_userdata.0.Flug.imageURL", '', {type: 'string', read: true, write: false}); createState("0_userdata.0.Flug.start",'', {type: 'string', read: true, write: false}); createState("0_userdata.0.Flug.end",'', {type: 'string', read: true, write: false}); createState("0_userdata.0.Flug.html", '', {type: 'string', read: true, write: false}); createState("0_userdata.0.Flug.city", '', {type: 'string', read: true, write: false}); createState("0_userdata.0.Flug.timezone", '', {type: 'string', read: true, write: false}); createState(`0_userdata.0.Flug.cityPopulation`, 0, {type: 'number', read: true, write: false}); createState("0_userdata.0.Flug.country", '', {type: 'string', read: true, write: false}); createState("0_userdata.0.Flug.countryFullname", '', {type: 'string', read: true, write: false}); createState("0_userdata.0.Flug.countryPopulation", 0, {type: 'number', read: true, write: false}); createState("0_userdata.0.Flug.countryArea", 0, {type: 'number', read: true, write: false, unit: 'm²'}); createState("0_userdata.0.Flug.capital", '', {type: 'string', read: true, write: false}); createState("0_userdata.0.Flug.subregion", '', {type: 'string', read: true, write: false}); createState("0_userdata.0.Flug.flagURL", '', {type: 'string', read: true, write: false}); createState("0_userdata.0.Flug.coatOfArmsURL", '', {type: 'string', read: true, write: false}); createState("0_userdata.0.Flug.language", '', {type: 'string', read: true, write: false}); createState("0_userdata.0.Flug.drivingSide", '', {type: 'string', read: true, write: false}); createState("0_userdata.0.Flug.currencyCode", '', {type: 'string', read: true, write: false}); createState("0_userdata.0.Flug.currencyName", '', {type: 'string', read: true, write: false}); createState("0_userdata.0.Flug.currencySymbol", '', {type: 'string', read: true, write: false}); createState("0_userdata.0.Flug.currencyEuro", 0, {type: 'number', read: true, write: false}); for (let i = 0; i < 7; i++) { createState(`0_userdata.0.Flug.day${i}.tempmax`, 0, {type: 'number', read: true, write: false, unit: '°C'}); createState(`0_userdata.0.Flug.day${i}.tempmin`, 0, {type: 'number', read: true, write: false, unit: '°C'}); createState(`0_userdata.0.Flug.day${i}.humidity`, 0, {type: 'number', read: true, write: false, unit: '%'}); createState(`0_userdata.0.Flug.day${i}.precipprob`, 0, {type: 'number', read: true, write: false, unit: '%'}); createState(`0_userdata.0.Flug.day${i}.snow`, 0, {type: 'number', read: true, write: false, unit: '%'}); createState(`0_userdata.0.Flug.day${i}.cloudcover`, 0, {type: 'number', read: true, write: false, unit: '%'}); createState(`0_userdata.0.Flug.day${i}.uvindex`, 0, {type: 'number', read: true, write: false}); createState(`0_userdata.0.Flug.day${i}.sunrise`, '', {type: 'string', read: true, write: false}); createState(`0_userdata.0.Flug.day${i}.sunset`, '', {type: 'string', read: true, write: false}); createState(`0_userdata.0.Flug.day${i}.icon`, '', {type: 'string', read: true, write: false}); // createState(`0_userdata.0.Flug.day${i}.date`, '', {type: 'string', read: true, write: false}); } const axios = require('axios'); on({id: iCalID, change: "any"}, async function (obj) { const events = obj.state ? obj.state.val : {}; let flightFound = false; let city = ""; let start = ""; let end = ""; let startDE = ""; let endDE = ""; events.forEach(entry => { if (entry.event.includes(flightTerm) && !flightFound) { city = entry.event.replace(/[^a-zA-Z\s-]/g, "").replace("Flug", "").trim().replace(" ", "%20"); start = formatDate(entry._object.start, "YYYY-MM-DD"); end = formatDate(entry._object.end, "YYYY-MM-DD"); flightFound = true; startDE = formatDate(entry._object.start, "DD.MM.YYYY"); endDE = formatDate(entry._object.end, "DD.MM.YYYY"); setState("0_userdata.0.Flug.start",startDE, true); setState("0_userdata.0.Flug.end",endDE, true); } }); if(flightFound){ setState("0_userdata.0.Flug.imageURL", "", true); let imageURL = ''; let country = ''; let link = "https://api.teleport.org/api/cities/?search=" + city; let firstTR = '<tr><td>'; let population = ''; let timeScript = ''; await axios.get(link).then(response => { const result = response.data; link = result["_embedded"]["city:search-results"][0]["_links"]["city:item"]["href"]; }).catch(e => {console.error("City Suche");}) await axios.get(link).then(response => { const result = response.data; population = result["population"]; setState("0_userdata.0.Flug.cityPopulation", population, true); const timezone = result["_links"]['city:timezone']['name']; setState('0_userdata.0.Flug.timezone', timezone, true); timeScript = `<script>function uhrzeit() {document.getElementById('cityTimeSpan').innerHTML = new Date().toLocaleTimeString("de-DE", {timeZone: '${timezone}'});} setInterval(uhrzeit, 900);</script>`; country = result["_links"]["city:country"]["name"]; link = result["_links"]["city:urban_area"]["href"] + "images/"; }).catch(e => {console.error("Country Search");}) await axios.get(link).then(response => { const result = response.data; imageURL = result["photos"][0]["image"]["web"]; setState("0_userdata.0.Flug.imageURL", imageURL, true); }).catch(e => {console.error("Urban Area");}) let currencyCode = ''; let currencySymbol = ''; if(country !== '') { if(country === 'United States') country = "USA"; link = `https://restcountries.com/v3.1/name/${country.replace(" ", "%20")}`; await axios.get(link).then(response => { const result = response.data[0]; setState('0_userdata.0.Flug.capital', result['capital'][0], true); setState("0_userdata.0.Flug.country", result['translations']['deu']['common'], true); setState("0_userdata.0.Flug.countryFullname", result['translations']['deu']['official'], true); setState("0_userdata.0.Flug.countryPopulation", result['population'], true); setState("0_userdata.0.Flug.countryArea", result['area'], true); setState("0_userdata.0.Flug.flagURL", result['flags']['png'], true); setState("0_userdata.0.Flug.coatOfArmsURL", result['coatOfArms']['png'], true); const language = Object.values(result['languages']).join(', '); setState("0_userdata.0.Flug.language", language, true); setState("0_userdata.0.Flug.drivingSide", result['car']['side'], true); setState("0_userdata.0.Flug.subregion", result['subregion'], true); currencyCode = Object.keys(result['currencies'])[0]; setState("0_userdata.0.Flug.currencyCode", currencyCode, true); setState("0_userdata.0.Flug.currencyName", result['currencies'][currencyCode]['name'], true); currencySymbol = result['currencies'][currencyCode]['symbol']; setState("0_userdata.0.Flug.currencySymbol", currencySymbol, true); firstTR += `<img src='${result['flags']['png']}' alt='flag' style='max-width: 50px; height: auto; float: left; margin-right: 10px;'>`; firstTR += `<img src='${result['coatOfArms']['png']}' alt='coatOfArms' style='max-width: 50px; height: auto; float: right; margin-right: 10px;'>`; firstTR += "<div style='text-align: center;'>"; firstTR += `<p><b>Land:</b> ${result['translations']['deu']['official']} <b>Region:</b> ${result['subregion']}</p>`; firstTR += `<p><b>Fläche:</b> ${result['area']} m² <b>Hauptstadt:</b> ${result['capital'][0]}</p>`; firstTR += `<p><b>Einwohner Land:</b> ${result['population']} <b>Einwohner Stadt:</b> ${population}</p>`; firstTR += `<p><b>Sprache:</b> ${language}</p>`; firstTR += `<p><b>Währung:</b> ${result['currencies'][currencyCode]['name']} <b>Fahrspur:</b> ${result['car']['side'] === 'left'?'links':'rechts'}</p>`; }).catch(e => { console.error("Country Data"); }) } if(currencyCode !== '') { link = `https://economia.awesomeapi.com.br/json/last/EUR-${currencyCode}`; log(link); await axios.get(link).then(response => { const result = response.data; log(result); const value = result[Object.keys(result)[0]].bid; setState("0_userdata.0.Flug.currencyEuro", value, true); firstTR += `<p><b>1€ entsprechen:</b> ${value} ${currencySymbol}</p>`; }).catch(e => { console.error("Currency"); }) } firstTR += "</div></td></tr>"; setState("0_userdata.0.Flug.html", "", true); let html = timeScript + "<div style='max-width: 600px; margin: 0 auto;'>"; link = `https://weather.visualcrossing.com/VisualCrossingWebServices/rest/services/timeline/${city}/${start}/${end}?unitGroup=metric&include=days%2Calerts%2Cevents&key=${apiKey}&contentType=json`; await axios.get(link).then(response => { const result = response.data; city = result.resolvedAddress; setState("0_userdata.0.Flug.city", city, true); html += `<h1 style='text-align: center;'><img style='max-width: 100%; height: auto;' src='${imageURL}' alt='Stadtbild'><span>&#9992;&nbsp;<span>${city}&nbsp;${startDE}&nbsp;-&nbsp;${endDE}</span>&nbsp;&#9992;</span></h1>`; html += "<table border='1' style='width: 100%; border-collapse: collapse;'>"; html += firstTR; html += "<tr><td><h1 style='text-align: center; padding-top:15px;' id='cityTimeSpan'/></td></tr>"; for (let i = 0; i < 7; i++) { const day = result.days[i] || {}; setState(`0_userdata.0.Flug.day${i}.tempmax`, day.tempmax || 0, true); setState(`0_userdata.0.Flug.day${i}.tempmin`, day.tempmin || 0, true); setState(`0_userdata.0.Flug.day${i}.humidity`, day.humidity || 0, true); setState(`0_userdata.0.Flug.day${i}.precipprob`, day.precipprob || 0, true); setState(`0_userdata.0.Flug.day${i}.snow`, day.snow || 0, true); setState(`0_userdata.0.Flug.day${i}.cloudcover`, day.cloudcover || 0, true); setState(`0_userdata.0.Flug.day${i}.uvindex`, day.uvindex || 0, true); setState(`0_userdata.0.Flug.day${i}.sunrise`, day.sunrise || '', true); setState(`0_userdata.0.Flug.day${i}.sunset`, day.sunset || '', true); setState(`0_userdata.0.Flug.day${i}.icon`, day.icon || '', true); setState(`0_userdata.0.Flug.day${i}.date`, formatDate(day.datetime, "DD.MM.YYYY") || '', true); if(day.icon){ html += "<tr><td>"; html += `<img src='./../${weatherIcons}/${day.icon}.png' alt='icon' style='max-width: 50px; height: auto; float: left; margin-right: 10px;'>`; html += "<div style='text-align: center;'>"; html += `<p style='font-weight: bold; margin-bottom: 5px; text-align: right;'>${formatDate(day.datetime, "DD.MM.YYYY")}</p>`; html += "<br/>"; html += `<p><b>Temperatur:</b> ${day.tempmin} - ${day.tempmax} °C <b>Luftfeuchtigkeit:</b> ${day.humidity} %</p>`; html += `<p><b>Regen:</b> ${day.precipprob} % <b>Schnee:</b> ${day.snow} %</p>`; html += `<p><b>Wolkenabdeckung:</b> ${day.cloudcover} % <b>UV-Index:</b> ${day.uvindex}</p>`; html += `<p><b>Sonnenaufgang:</b> ${day.sunrise} <b>Sonnenuntergang:</b> ${day.sunset}</p>`; html += "</div>"; html += "</td></tr>"; } } html += "</table>"; setState("0_userdata.0.Flug.html", html, true); }).catch(e => {console.error("Wetterdaten");}) }else{ setState('0_userdata.0.Flug.start','', true); setState('0_userdata.0.Flug.end','', true); setState('0_userdata.0.Flug.html', '', true); setState('0_userdata.0.Flug.imageURL', '', true); setState('0_userdata.0.Flug.coatOfArmsURL', '', true); setState('0_userdata.0.Flug.city', '', true); setState('0_userdata.0.Flug.timezone', '', true); setState('0_userdata.0.Flug.cityPopulation', 0, true); setState('0_userdata.0.Flug.country', '', true); setState('0_userdata.0.Flug.countryPopulation', 0, true); setState('0_userdata.0.Flug.countryArea', 0, true); setState('0_userdata.0.Flug.countryFullname', '', true); setState('0_userdata.0.Flug.capital', '', true); setState('0_userdata.0.Flug.countryPopulation', 0, true); setState('0_userdata.0.Flug.flagURL', '', true); setState('0_userdata.0.Flug.currencyCode', '', true); setState('0_userdata.0.Flug.currencySymbol', '', true); setState('0_userdata.0.Flug.currencyName', '', true); setState('0_userdata.0.Flug.currencyEuro', 0, true); setState('0_userdata.0.Flug.language', '', true); setState('0_userdata.0.Flug.drivingSide', '', true); for (let i = 0; i < 7; i++) { setState(`0_userdata.0.Flug.day${i}.tempmax`, 0, true); setState(`0_userdata.0.Flug.day${i}.tempmin`, 0, true); setState(`0_userdata.0.Flug.day${i}.humidity`, 0, true); setState(`0_userdata.0.Flug.day${i}.precipprob`, 0, true); setState(`0_userdata.0.Flug.day${i}.snow`, 0, true); setState(`0_userdata.0.Flug.day${i}.cloudcover`, 0, true); setState(`0_userdata.0.Flug.day${i}.uvindex`, 0, true); setState(`0_userdata.0.Flug.day${i}.sunrise`, '', true); setState(`0_userdata.0.Flug.day${i}.sunset`, '', true); setState(`0_userdata.0.Flug.day${i}.icon`, '', true); setState(`0_userdata.0.Flug.day${i}.date`, '', true); } } }); Die Daten sehen dann so aus... [image: 1702022189912-bild1.jpg] Als Adapter braucht man den iCal und man muss im Javascript axios als dep hinzufügen.
  • onvif Fehlermeldung

    1
    0 Votes
    1 Posts
    131 Views
    No one has replied
  • Server Cannot start inMem-objects on port 9001:

    70
    0 Votes
    70 Posts
    8k Views
    Thomas BraunT
    @alex-smarthome Setz den alexander noch in die Gruppen adm und iobroker sudo usermod -a -G adm,iobroker alexander
  • Ical kann die Lokale *.ics nicht lesen ??

    Moved
    8
    2
    0 Votes
    8 Posts
    324 Views
    G
    @thomas-braun Danke jetzt funzt das einlesen
  • IoT Adaper - Rollo Funktion für Alexa

    5
    0 Votes
    5 Posts
    493 Views
    von.cartmanV
    @heliosfan Aber KNX hat damit nicht zu tun. Ich lege meine DP in IoT Adapter und die sollten von Alexa als Rollo erkannt werden, was nicht der Fall ist.
  • Herkunft "State "mqtt.0.tele.345picX.STATE" unbekannt

    5
    1
    0 Votes
    5 Posts
    386 Views
    T
    @thomkast Du kannst dir per Script, das from ins log schreiben lassen.
  • Server Cannot start inMem-objects on port 9001

    429
    0 Votes
    429 Posts
    107k Views
    Thomas BraunT
    @alex-smarthome sagte in Server Cannot start inMem-objects on port 9001: im root sagt er Ja, du sollst ja auch nicht als root herumhampeln.

382

Online

32.8k

Users

82.9k

Topics

1.3m

Posts