Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Hardware
    4. SONOFF NSPanel mit Lovelace UI

    NEWS

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

    • ioBroker goes Matter ... Matter Adapter in Stable

    • Monatsrückblick - April 2025

    SONOFF NSPanel mit Lovelace UI

    This topic has been deleted. Only users with topic management privileges can see it.
    • T
      TT-Tom @ticaki last edited by

      @ticaki wo bist du jetzt, habe den Faden verloren.

      T 1 Reply Last reply Reply Quote 0
      • T
        ticaki Developer @TT-Tom last edited by

        @tt-tom
        vergiss es, ich hab die kleine schrift nicht erkannt. Ja da sind die richtigen States vorhanden. 🙂

        T 1 Reply Last reply Reply Quote 0
        • T
          TT-Tom @ticaki last edited by

          @ticaki 4k Bilder auf dem Handy sind auch nicht prickelnd 😉

          1 Reply Last reply Reply Quote 0
          • Armilar
            Armilar Most Active Forum Testing @TimoWald last edited by

            @timowald
            @Max_yeah

            https://github.com/joBr99/nspanel-lovelace-ui/wiki/cardqr

            Der durch den autoCreate erzeugte Alias-Channel hat einen Switch. Wenn der gelöscht wird, dann ist er auch nicht sichtbar.

            199ea2f2-325d-4c1f-9335-b8717e3116ee-image.png

            Wenn der etwas Switch machen soll, dann muss der Datenpunkt allerdings noch eingetragen werden. So clever ist das Script nun auch wieder nicht, dass es automatisch beim richtigen Router-Hersteller auch noch den Gastzugang findet 😉

            T 1 Reply Last reply Reply Quote 1
            • T
              TimoWald @Armilar last edited by

              @armilar testweise habe ich den Switch erstmal auf eine Lampe gelegt. Aber der datenpunkt ändert sich nicht einmal.

              Armilar 1 Reply Last reply Reply Quote 0
              • Armilar
                Armilar Most Active Forum Testing @TimoWald last edited by Armilar

                @timowald

                spannend, habe eben einen Test gemacht. Der Switch ist bei mir nicht standardmäßig eingestellt, sondern das Passwort... Wenn der schon im QR-Code ist, kann ich ihn ja auch anzeigen 😊

                Also nach ein zwei Schaltversuchen hat sich der Switch geändert. Der Alias brauchte wohl einen kleinen Anschubser... Jetzt schaltet der aber komplett hin und her...

                M 1 Reply Last reply Reply Quote 1
                • Neuschwansteini
                  Neuschwansteini @TT-Tom last edited by Neuschwansteini

                  @tt-tom @Armilar

                  habe ein Problem mit einem neuen NSPanel, bei dem brauche ich die Relais als echte Schalter. Immer, wenn ich schalte, kommt eine Fehlermeldung, dass Username/Password nicht stimmen, ich habe aber alles gesetzt.. (bei allen anderen 12 gehts, nur das neue hier zickt rum)..
                  Hab mir jetzt schon n Wolf gesucht.. also mqtt password und das password vom Panel stimmen. Fehler ist bei Tasmota Firmware 14.4.1 und auch bei 14.5.0.

                  Also senden vom Panel zu iobroker geht, stimmen alle Werte, aber wenn ich etwas vom iobroker zum Panel senden moechte zum setzen der Relais, kommt dieser Fehler. Das Panel zeigt auch alle Menues an, das funktioniert. Ich kann nur nicht die Relais vom iobroker aus schalten... was ist das?

                  Hier der Fehler:

                  avascript.0
                  2025-02-21 10:24:02.684	warn	script.js.common.NSPanels.NSP12-FLurOG-4505: AxiosError: Request failed with status code 401 at settle (file:///opt/iobroker/node_modules/@iobroker-javascript.0/axios/lib/core/settle.js:19:12) at IncomingMessage.handleStreamEnd (file:///opt/iobroker/node_modules/@iobroker-javascript.0/axios/lib/adapters/http.js:599:11) at IncomingMessage.emit (node:events:530:35) at IncomingMessage.emit (node:domain:489:12) at endReadableNT (node:internal/streams/readable:1698:12) at processTicksAndRejections (node:internal/process/task_queues:82:21) at Axios.request (file:///opt/iobroker/node_modules/@iobroker-javascript.0/axios/lib/core/Axios.js:45:41) at processTicksAndRejections (node:internal/process/task_queues:95:5) { code: 'ERR_BAD_REQUEST', config: { transitional: { silentJSONParsing: true, forcedJSONParsing: true, clarifyTimeoutError: false }, adapter: [ 'xhr', 'http', 'fetch' ], transformRequest: [ [Function: transformRequest] ], transformResponse: [ [Function: transformResponse] ], timeout: 0, xsrfCookieName: 'XSRF-TOKEN', xsrfHeaderName: 'X-XSRF-TOKEN', maxContentLength: -1, maxBodyLength: -1, env: { FormData: [Function], Blob: [class Blob] }, validateStatus: [Function: validateStatus], headers: Object [AxiosHeaders] { Accept: 'application/json, text/plain, */*', 'Content-Type': undefined, 'User-Agent': 'axios/1.7.9', 'Accept-Encoding': 'gzip, compress, deflate, br' }, method: 'get', url: 'http://10.1.2.21/cm?cmnd=Power2 true', data: undefined }, request: <ref *1> ClientRequest { _events: [Object: null prototype] { error: [Array], abort: [Function (anonymous)], aborted: [Function (anonymous)], connect: [Function (anonymous)], socket: [Function (anonymous)], timeout: [Function (anonymous)], finish: [Function: requestOnFinish] }, _eventsCount: 7, _maxListeners: 100, outputData: [], outputSize: 0, writable: true, destroyed: false, _last: true, chunkedEncoding: false, shouldKeepAlive: false, maxRequestsOnConnectionReached: false, _defaultKeepAlive: true, useChunkedEncodingByDefault: false, sendDate: false, _removedConnection: false, _removedContLen: false, _removedTE: false, strictContentLength: false, _contentLength: 0, _hasBody: true, _trailer: '', finished: true, _headerSent: true, _closed: false, socket: Socket { connecting: false, _hadError: false, _parent: null, _host: null, _closeAfterHandlingError: false, _events: [Object], _readableState: [ReadableState], _writableState: [WritableState], allowHalfOpen: false, _maxListeners: 100, _eventsCount: 7, _sockname: null, _pendingData: null, _pendingEncoding: '', server: null, _server: null, timeout: 5000, parser: null, _httpMessage: [Circular *1], [Symbol(async_id_symbol)]: 1973004, [Symbol(kHandle)]: [TCP], [Symbol(lastWriteQueueSize)]: 0, [Symbol(timeout)]: Timeout { _idleTimeout: 5000, _idlePrev: [TimersList], _idleNext: [TimersList], _idleStart: 1218737, _onTimeout: [Function: bound ], _timerArgs: undefined, _repeat: null, _destroyed: false, [Symbol(refed)]: false, [Symbol(kHasPrimitive)]: false, [Symbol(asyncId)]: 1973003, [Symbol(triggerId)]: 1973002 }, [Symbol(kBuffer)]: null, [Symbol(kBufferCb)]: null, [Symbol(kBufferGen)]: null, [Symbol(shapeMode)]: true, [Symbol(kCapture)]: false, [Symbol(kSetNoDelay)]: true, [Symbol(kSetKeepAlive)]: true, [Symbol(kSetKeepAliveInitialDelay)]: 60, [Symbol(kBytesRead)]: 0, [Symbol(kBytesWritten)]: 0 }, _header: 'GET /cm?cmnd=Power2%20true HTTP/1.1\r\n' + 'Accept: application/json, text/plain, */*\r\n' + 'User-Agent: axios/1.7.9\r\n' + 'Accept-Encoding: gzip, compress, deflate, br\r\n' + 'sentry-trace: 8ce1f1707915453ba4d2928e78a95a22-afbb86bd9e495b9b\r\n' + 'baggage: sentry-environment=production,sentry-release=iobroker.javascript%408.9.1,sentry-public_key=f3b9740caaee4ee69eb68019d71526ff,sentry-trace_id=8ce1f1707915453ba4d2928e78a95a22\r\n' + 'Host: 10.1.2.21\r\n' + 'Connection: keep-alive\r\n' + '\r\n', _keepAliveTimeout: 0, _onPendingData: [Function: nop], agent: Agent { _events: [Object: null prototype], _eventsCount: 2, _maxListeners: undefined, defaultPort: 80, protocol: 'http:', options: [Object: null prototype], requests: [Object: null prototype] {}, sockets: [Object: null prototype], freeSockets: [Object: null prototype] {}, keepAliveMsecs: 1000, keepAlive: true, maxSockets: Infinity, maxFreeSockets: 256, scheduling: 'lifo', maxTotalSockets: Infinity, totalSocketCount: 1, [Symbol(shapeMode)]: false, [Symbol(kCapture)]: false }, socketPath: undefined, method: 'GET', maxHeaderSize: undefined, insecureHTTPParser: undefined, joinDuplicateHeaders: undefined, path: '/cm?cmnd=Power2%20true', _ended: true, res: IncomingMessage { _events: [Object], _readableState: [ReadableState], _maxListeners: 100, socket: [Socket], httpVersionMajor: 1, httpVersionMinor: 1, httpVersion: '1.1', complete: true, rawHeaders: [Array], rawTrailers: [], joinDuplicateHeaders: undefined, aborted: false, upgrade: false, url: '', method: null, statusCode: 401, statusMessage: 'Unauthorized', client: [Socket], _consuming: true, _dumped: false, req: [Circular *1], _eventsCount: 4, responseUrl: 'http://10.1.2.21/cm?cmnd=Power2%20true', redirects: [], [Symbol(shapeMode)]: true, [Symbol(kCapture)]: false, [Symbol(kHeaders)]: [Object], [Symbol(kHeadersCount)]: 16, [Symbol(kTrailers)]: null, [Symbol(kTrailersCount)]: 0 }, aborted: false, timeoutCb: [Function: emitRequestTimeout], upgradeOrConnect: false, parser: null, maxHeadersCount: null, reusedSocket: false, host: '10.1.2.21', protocol: 'http:', _redirectable: Writable { _events: [Object], _writableState: [WritableState], _maxListeners: 100, _options: [Object], _ended: true, _ending: true, _redirectCount: 0, _redirects: [], _requestBodyLength: 0, _requestBodyBuffers: [], _eventsCount: 3, _onNativeResponse: [Function (anonymous)], _currentRequest: [Circular *1], _currentUrl: 'http://10.1.2.21/cm?cmnd=Power2%20true', [Symbol(shapeMode)]: true, [Symbol(kCapture)]: false }, [Symbol(shapeMode)]: false, [Symbol(kCapture)]: false, [Symbol(kBytesWritten)]: 0, [Symbol(kNeedDrain)]: false, [Symbol(corked)]: 0, [Symbol(kOutHeaders)]: [Object: null prototype] { accept: [Array], 'user-agent': [Array], 'accept-encoding': [Array], 'sentry-trace': [Array], baggage: [Array], host: [Array] }, [Symbol(errored)]: null, [Symbol(kHighWaterMark)]: 16384, [Symbol(kRejectNonStandardBodyWrites)]: false, [Symbol(kUniqueHeaders)]: null }, response: { status: 401, statusText: 'Unauthorized', headers: Object [AxiosHeaders] { 'content-type': 'application/json', server: 'Tasmota/14.4.1 (ESP32-D0WD-V3)', 'cache-control': 'no-cache, no-store, must-revalidate', pragma: 'no-cache', expires: '-1', 'accept-ranges': 'none', 'transfer-encoding': 'chunked', connection: 'close' }, config: { transitional: [Object], adapter: [Array], transformRequest: [Array], transformResponse: [Array], timeout: 0, xsrfCookieName: 'XSRF-TOKEN', xsrfHeaderName: 'X-XSRF-TOKEN', maxContentLength: -1, maxBodyLength: -1, env: [Object], validateStatus: [Function: validateStatus], headers: [Object [AxiosHeaders]], method: 'get', url: 'http://10.1.2.21/cm?cmnd=Power2 true', data: undefined }, request: <ref *1> ClientRequest { _events: [Object: null prototype], _eventsCount: 7, _maxListeners: 100, outputData: [], outputSize: 0, writable: true, destroyed: false, _last: true, chunkedEncoding: false, shouldKeepAlive: false, maxRequestsOnConnectionReached: false, _defaultKeepAlive: true, useChunkedEncodingByDefault: false, sendDate: false, _removedConnection: false, _removedContLen: false, _removedTE: false, strictContentLength: false, _contentLength: 0, _hasBody: true, _trailer: '', finished: true, _headerSent: true, _closed: false, socket: [Socket], _header: 'GET /cm?cmnd=Power2%20true HTTP/1.1\r\n' + 'Accept: application/json, text/plain, */*\r\n' + 'User-Agent: axios/1.7.9\r\n' + 'Accept-Encoding: gzip, compress, deflate, br\r\n' + 'sentry-trace: 8ce1f1707915453ba4d2928e78a95a22-afbb86bd9e495b9b\r\n' + 'baggage: sentry-environment=production,sentry-release=iobroker.javascript%408.9.1,sentry-public_key=f3b9740caaee4ee69eb68019d71526ff,sentry-trace_id=8ce1f1707915453ba4d2928e78a95a22\r\n' + 'Host: 10.1.2.21\r\n' + 'Connection: keep-alive\r\n' + '\r\n', _keepAliveTimeout: 0, _onPendingData: [Function: nop], agent: [Agent], socketPath: undefined, method: 'GET', maxHeaderSize: undefined, insecureHTTPParser: undefined, joinDuplicateHeaders: undefined, path: '/cm?cmnd=Power2%20true', _ended: true, res: [IncomingMessage], aborted: false, timeoutCb: [Function: emitRequestTimeout], upgradeOrConnect: false, parser: null, maxHeadersCount: null, reusedSocket: false, host: '10.1.2.21', protocol: 'http:', _redirectable: [Writable], [Symbol(shapeMode)]: false, [Symbol(kCapture)]: false, [Symbol(kBytesWritten)]: 0, [Symbol(kNeedDrain)]: false, [Symbol(corked)]: 0, [Symbol(kOutHeaders)]: [Object: null prototype], [Symbol(errored)]: null, [Symbol(kHighWaterMark)]: 16384, [Symbol(kRejectNonStandardBodyWrites)]: false, [Symbol(kUniqueHeaders)]: null }, data: { WARNING: 'Need user=<username>&password=<password>' } }, status: 401}
                  

                  T 1 Reply Last reply Reply Quote 0
                  • T
                    ticaki Developer @Neuschwansteini last edited by

                    @neuschwansteini

                    Die Relais werden über http geschaltet. Hast du in der Oberfläche vom Tasmota ein web passwort gesetzt, wenn ja dann ergänze das. Suche nach tasmota_web_admin_ in der script Konfigurationssection.

                    Neuschwansteini 1 Reply Last reply Reply Quote 2
                    • Neuschwansteini
                      Neuschwansteini @ticaki last edited by

                      @ticaki sagte in SONOFF NSPanel mit Lovelace UI:

                      @neuschwansteini

                      Die Relais werden über http geschaltet. Hast du in der Oberfläche vom Tasmota ein web passwort gesetzt, wenn ja dann ergänze das. Suche nach tasmota_web_admin_ in der script Konfigurationssection.

                      Danke! Das wars, obwohl im Panel das Password gesetzt war, und im Skript auch. Hab beides jetzt rausgenommen, jetzt gehts.
                      Setz ich im Script das Pw und im Panel, gibts die Meldung. Script Version 4.5.0.5

                      T 1 Reply Last reply Reply Quote 0
                      • T
                        ticaki Developer @Neuschwansteini last edited by ticaki

                        @neuschwansteini

                        Dann ersetzt hier mal {einValue} -> Value und schaue obs dann geht:

                        http://{get_current_tasmota_ip_address()}/cm?user={tasmota_web_admin_user}&password={tasmota_web_admin_password}&cmnd=Status0
                        

                        Wenn das nicht geht schaue ich mal rein, ob sich da was geändert hat 🙂

                        hoffe es ist soweit selbst erklärend.

                        T 1 Reply Last reply Reply Quote 0
                        • T
                          TimoWald @ticaki last edited by

                          @ticaki Bei mir seht es so aus. Was ist daran falsch?

                          b1d594e0-0508-46c6-b3de-d07aae3b023f-grafik.png

                          ad19c506-5dd1-4bbe-a1c6-ce745df7aca7-grafik.png

                          T 1 Reply Last reply Reply Quote 0
                          • T
                            TT-Tom @TimoWald last edited by TT-Tom

                            @timowald
                            das heisst nicht SET sonder SWITCH

                            https://github.com/joBr99/nspanel-lovelace-ui/wiki/ioBroker---FAQ-&-Anleitungen#5-qr-code-page

                            T 1 Reply Last reply Reply Quote 0
                            • T
                              TimoWald @TT-Tom last edited by TimoWald

                              @tt-tom Das legt er automatisch an. Ich lege einen Gerätetyp Info an und er macht Steckdose draus.
                              Habe es nochmal neu angelegt. Geht aber trotzdem noch nicht.
                              ed53941c-f266-48e2-b652-cfb60b0771de-grafik.png

                              T 1 Reply Last reply Reply Quote 0
                              • T
                                TT-Tom @TimoWald last edited by

                                @timowald

                                lass den Gerätemanager sein

                                lösche den alias.0 und den 0_userdata.0 Eintrag.
                                dein Pageitem sollte so aussehen

                                { id: 'alias.0.NSPanel.GuestWifi', hidePassword: false, autoCreateALias: true }
                                

                                das Script dann neu starten und die Datenpunkte werden automatisch angelegt.

                                T 1 Reply Last reply Reply Quote 1
                                • T
                                  TimoWald @TT-Tom last edited by TimoWald

                                  @tt-tom Prima, obwohl ich das schon öffters gemacht habe funktionierte es nicht. Aber jetzt schon. Dachte ich muss immer über Geräte gehen. Danke!

                                  1 Reply Last reply Reply Quote 1
                                  • M
                                    Max_yeah last edited by Max_yeah

                                    Habt ihr eine Idee warum meine Charts ins negative gehen?

                                    PXL_20250221_203352932.jpg

                                    das schreibt das script in den datenpunkt:

                                    1418.8~2366.5~1739.3~1291.9^0:00~1603.9~1590.1~1084~688.6^4:00~2162.6~1087.1~1114.2~1232.8^8:00~203.3~23~15.1~91.3^12:00~-25~113.2~35.6~24.3^16:00~20.8~65.2~138.1~17.6^20:00
                                    

                                    und das ist meine card config:

                                    let CardChartExample: PageType =
                                    {
                                        "type": "cardChart",
                                        "heading": "Test Diagram",
                                        "subPage": false,
                                        "items": [{ 
                                                    id: 'alias.0.NSPanel.Diagramme.TestChart', 
                                                    yAxis: 'Leistung [W]', 
                                                    yAxisTicks: [], // leave empty for automatic calculation of the y-axis
                                                    onColor: Yellow
                                                 }]
                                    };
                                    
                                    M Armilar 2 Replies Last reply Reply Quote 0
                                    • M
                                      Max_yeah @Max_yeah last edited by

                                      @TT-Tom ich hab auch mal das script von deiner github Seite getestet, da sind die Balken zwar im positiven Bereich, jedoch stimmen die Werte nicht.

                                      1 Reply Last reply Reply Quote 0
                                      • M
                                        Max_yeah @Armilar last edited by

                                        @armilar Nochmal zu dem QR Card, ich habe jetzt mal wie beschrieben den SWITCH gelöscht und auf hidepassword auf true gestellt, jedoch wird jetzt ein nicht funktionierender Schalter angezeigt, den ich ja aber garnicht haben will.

                                        Ich hätte gerne ohne Schalter und ohne Passwort. Ist das möglich?

                                        Armilar 1 Reply Last reply Reply Quote 0
                                        • Armilar
                                          Armilar Most Active Forum Testing @Max_yeah last edited by

                                          @max_yeah

                                          @armilar Nochmal zu dem QR Card, ich habe jetzt mal wie beschrieben den SWITCH gelöscht und auf hidepassword auf true gestellt, jedoch wird jetzt ein nicht funktionierender Schalter angezeigt, den ich ja aber garnicht haben will.

                                          Ich hätte gerne ohne Schalter und ohne Passwort. Ist das möglich?

                                          Muss ich bei Gelegenheit mal im Emulator testen... Gib mir ein paar Tage...

                                          1 Reply Last reply Reply Quote 1
                                          • Armilar
                                            Armilar Most Active Forum Testing @Max_yeah last edited by Armilar

                                            @max_yeah

                                            das schreibt das script in den datenpunkt:

                                            1418.8~2366.5~1739.3~1291.9^0:00~1603.9~1590.1~1084~688.6^4:00~2162.6~1087.1~1114.2~1232.8^8:00~203.3~23~15.1~91.3^12:00~-25~113.2~35.6~24.3^16:00~20.8~65.2~138.1~17.6^20:00
                                            

                                            Da ist etwas nicht korrekt. Welches Skript ist das?

                                            Die HMI verträgt keine Fließkommazahlen. Ein Komma sollte nicht im String vorkommen - die letzte Stelle ist die Zahl hinter dem Komma. Ggfs. ein Math.round() verwenden um das Komma zu eliminieren.

                                            Die cardChart hat ebenfalls seit geraumer Zeit einen Bug und kann nicht mit so großen Werten umgehen. Eine Darstellung in KW ( /1000) würde jedoch passen

                                            EDIT: Fumanchi hatte sich bereits vor einiger Zeit angeboten, die cardChart und cardLChart zu verbessern, ist aber bislang nicht dazu gekommen...

                                            M 1 Reply Last reply Reply Quote 1
                                            • First post
                                              Last post

                                            Support us

                                            ioBroker
                                            Community Adapters
                                            Donate

                                            530
                                            Online

                                            31.7k
                                            Users

                                            79.6k
                                            Topics

                                            1.3m
                                            Posts

                                            lovelace ui nspanel sonoff
                                            260
                                            7128
                                            4652941
                                            Loading More Posts
                                            • Oldest to Newest
                                            • Newest to Oldest
                                            • Most Votes
                                            Reply
                                            • Reply as topic
                                            Log in to reply
                                            Community
                                            Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen
                                            The ioBroker Community 2014-2023
                                            logo