​Zentrale Änderung z.B. DNS Server

  • Hallo zusammen.


    Gibt es eine Möglichkeit alle Tasmotageräten mit einem zentralen Befehl zum Beispiel einen neuen DNS-Server zuzuweisen? Vielleicht über die Tasmo-Admin Oberfläche?


    Gruß

    Bernd

    FB 7590 & 7240, < 20 x Sonoffs Basic, Dual, 4 Ch pro, T2 (alle Tasmota), 10 x Shelly jetzt 2.5;) (OriginalFW) als Rolladenschalter, 2 X Shelly Dimmer (OriginalFW), 8 x Shelly 1 (Tasmota), 3 x Sonoff SV (Tasmota) als smarte Gartenbewässerung und Garagentorsteuerung, 5 X FS 20 Heizungssteuerung mit Zimmerthermostat u. Fensterkontakten, 5 x IP-Camera, 1 x Frau ;), 1 x Tochter


    Mein Projekt: Smarte Gartenbewässerung

  • In dem Sinne ist mir nichts bekannt.


    aber JoergZ  hat da mal ein bash script erstellt mit dem Tasmota Geräte im Netzwerk aufegsürt werden:

    Bash-Skript zum Aufspüren der Tasmota-Geräte und Abfrage des Powerzustandes.


    Die Zuweisung eines DNS Servers über IP lauetet ja:

    http://<IP vom Sonoff>/cm?cmnd=ipaddress4%20<DNSIP>


    Mit bischen geschick lässt sich da bestimmt was draus basteln. ;)

    Online Compiler


    Sonoff-Basic / Sonoff-RF / Sonoff-Touch / Sonoff S20 / PowStro Basic / HomeMagic / Sonoff-RF-Bridge mit diversen 433MHz RF Sender/Empfänger / Shelly_1 / ESP-WiFi-Dimmer / Gosund SP111 / ESP12E

    Sensoren: BME280/BMP280/HC-SR501/HC-SR04/ACS712

    mosquitto/bash/html/cgi auf RPI 2B+/Sprachsteuerung via IFTTT/4xGoogle-Home-Mini

  • Das geht mit dem Script so ohne Weiteres nicht. Grundsätzlich kann man es mit einem neuen bash-Script relativ einfach lösen. Man kann aber auch jedes Gerät über einen Browser ansprechen und die erste Zeile aus dem nächsten Quellcode nehmen. Natürlich müssen die IP-Nummern vorne (Geräteadresse) und hinten (DNS-Server) angepasst werden:

    Code
    http://192.168.178.74/cm?cmnd=IPAddress4%20192.168.178.1
    #Das würde den DNS-Server für das Gerät ...74 auf die IP ...1 setzen
    #Allgemein:
    http://IP_Gerät/cm?cmnd=IPAddress4%20IP_Neuer_DNS

    Wenn das in einem bash-Script laufen soll, muss man mit curl -s 'http://.....' arbeiten

    Wenn MQTT läuft sieht es so aus (bei setoption19 0)

    Code
    mosquitto_pub -h IP_DES_MQTTBROKERS -t cmnd/GERÄT/IPAddress4 -m 'IP_DNS_NEU'

    Wenn setoption19 auf 1 gesetzt:

    Code
    mosquitto_pub -h IP_DES_MQTTBROKERS -t GERÄT/cmnd/IPAddress4 -m 'IP_DNS_NEU'

    die oben stehenden Befehle kann man in einem Skript, das den MQTT-Broker anspricht, so übernehmen, wie sie dort stehen.


    Um alle Geräte abzuarbeiten, müsste man einen Array definieren, in dem alle Geräte-IPs oder alle MQTT-Gerätenamen abgelegt sind, der dann mit einer for-Schleife abgearbeitet wird.