Arduino IDE Redefinition of 'OneWire oneWire'



  • Hallo, wenn ich exakt den code kopiere und eingebe, kommt nur Redefinition of ‘OneWire oneWire’.
    das ist der Fehlercode:

    Arduino: 1.8.13 (Mac OS X), Board: "LOLIN(WEMOS) D1 R2 & mini, 80 MHz, Flash, Legacy (new can return nullptr), All SSL ciphers (most compatible), 4MB (FS:2MB OTA:~1019KB), v2 Lower Memory, Disabled, None, Only Sketch, 921600"
    
    GET_Request:7:16: error: redefinition of 'OneWire oneWire'
     OneWire oneWire(ONE_WIRE_BUS);
                    ^
    sketch_sep08a:7:9: error: 'OneWire oneWire' previously declared here
     OneWire oneWire(ONE_WIRE_BUS);
             ^
    GET_Request:8:26: error: redefinition of 'DallasTemperature sensors'
     DallasTemperature sensors(&oneWire);
                              ^
    sketch_sep08a:8:19: error: 'DallasTemperature sensors' previously declared here
     DallasTemperature sensors(&oneWire);
                       ^
    GET_Request:17:5: error: redefinition of 'int wait'
     int wait = 5;
         ^
    sketch_sep08a:11:5: error: 'int wait' previously defined here
     int wait = 5;
         ^
    GET_Request:20:7: error: redefinition of 'float temperature'
     float temperature;
           ^
    sketch_sep08a:14:7: error: 'float temperature' previously declared here
     float temperature;
           ^
    /Users/jonaspies/Documents/Arduino/sketch_sep08a/GET_Request.ino: In function 'void push()':
    GET_Request:23:6: error: redefinition of 'void push()'
     void push(){
          ^
    sketch_sep08a:17:6: error: 'void push()' previously defined here
     void push(){
          ^
    /Users/jonaspies/Documents/Arduino/sketch_sep08a/GET_Request.ino: In function 'void setup()':
    GET_Request:67:6: error: redefinition of 'void setup()'
     void setup() {
          ^
    sketch_sep08a:23:6: error: 'void setup()' previously defined here
     void setup(){
          ^
    /Users/jonaspies/Documents/Arduino/sketch_sep08a/GET_Request.ino: In function 'void loop()':
    GET_Request:84:6: error: redefinition of 'void loop()'
     void loop() {
          ^
    sketch_sep08a:31:6: error: 'void loop()' previously defined here
     void loop(){
          ^
    exit status 1
    redefinition of 'OneWire oneWire'
    

    Dieser Bericht wäre detaillierter, wenn die Option
    “Ausführliche Ausgabe während der Kompilierung”
    in Datei -> Voreinstellungen aktiviert wäre.

    was kann ich tun?



  • Sieht so aus als würdest du das Programm doppelt hochladen. Weil alles bereits definiert ist. Also die Variablen.

    So Meldungen kommen eigentlich nur, wenn du versuchst zweimal die gleiche Variable zu definieren.

    Liegt wahrscheinlich an den Einstellungen deiner IDE. Bzw schick mal n Screenshot von deinem Arduino Fenster.





  • @JonasPies1912 Ja, … hab ich mir schon gedacht. 😄

    Der lädt beide Sketches in dem Fenster hoch. Also einmal sketch_sep08a und dann GET_Request.

    Deswegen auch die Meldung:

    GET_Request:7:16: error: redefinition of ‘OneWire oneWire’
    OneWire oneWire(ONE_WIRE_BUS);
    ^
    
    sketch_sep08a:7:9: error: ‘OneWire oneWire’ previously declared here
    OneWire oneWire(ONE_WIRE_BUS);
    ^
    

    Du brauchst pro Programm immer ein eigenes Fenster. Wenn du in einem Fenster zwei Tabs geöffnet hast, bzw. zwei Sketches, dann lädt er auch beide hoch.

    Wenn jetzt in beiden nahezu das gleiche steht, weil du deinen Code etc. anpassen möchtest zeigt er dir natürlich einen Fehler an, weil alle Variablen bereits definiert wurden und im zweiten Tab alle nochmal neu definiert werden sollen.

    Lösung:

    Kurz gesagt: Du lädst zweimal das gleiche Programm hoch. Öffne einfach beide Sketches in jeweils eigenen Fenstern, dann verschwindet auch der Fehler.



  • @cooper also so?

    Bildschirmfoto 2020-09-16 um 18.10.03.png



  • Ja genau



  • @cooper vielen Dank für die Hilfe, das plugin bringt allerdings meine Homebridge zum Absturz, vielleicht kommt ja demnächst nochwas mit der HomeKit library in der Richtung:)



  • @JonasPies1912 Es gibt fast nichts, was sich nicht lösen lässt… 😛

    Ich helf’ dir gern unter: https://my.makesmart.net/category/22/homebridge

    Vielleicht liegt es ja nur an einem kleinen Fehler. 🙂



  • @cooper das ganze hat nun funktioniert, jedoch steht die Temperatur dauerhaft auf 0,0



  • @JonasPies1912 Sensor Defekt, Verkabelung falsch, Variablen falsch, request fehlerhaft, kann viele Ursachen haben.



  • @cooper habe gerade noch einen anderen sensor getestet, hat nichts gebracht, für heute mache ich erstmal Schluss…