​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 7490 & 7240, 2 x Raspberry 3, < 20 x Sonoffs Basic, Dual, 4 Ch pro, T2 (alle Tasmota), 10 x Shelly jetzt 2.5;) (OriginalFW) als Rolladenschalter, 8 x Shelly 1 (Tasmota) als Unterputzlichtschalter, 3 x Sonoff SV (Tasmota) als smarte Gartenbewässerung], 5 X FS 20 Heizungssteuerung mit Zimmerthermostat u. Fensterkontakten, 1 x Homematic Dimmer (da suche ich eine andere Lösung), 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. ;)

    Tasmota 6.6.0 - Arduino-IDE - 1.8.7

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

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

    mosquitto/bash/html/cgi auf RPI 2B+/Sprachsteuerung via IFTTT/3xGoogle-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
    1. http://192.168.178.74/cm?cmnd=IPAddress4%20192.168.178.1
    2. #Das würde den DNS-Server für das Gerät ...74 auf die IP ...1 setzen
    3. #Allgemein:
    4. 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
    1. mosquitto_pub -h IP_DES_MQTTBROKERS -t cmnd/GERÄT/IPAddress4 -m 'IP_DNS_NEU'

    Wenn setoption19 auf 1 gesetzt:

    Code
    1. 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.