Erstmal vielen Dank Erleuchteter
Zitat von meigrafd
Nix gelernt? -> array
Stimmt irgendwie... Habe es probiert mit dem Array aber ich hab das Array nicht wirklich kapiert. Gebe es zu =( Ca. 2h lang habe ich probiert meine relais.sh mit dem Array umzuschreiben - scheitere aber an einer Idee wie ich also beim Aufruf:
./relais.sh 1 ein
[/php]
dann die im Befehl übergebene Zahl ($1) ins Array übergebe
Also die Zeile aus meine Script:
[code=php]
sudo gpio write $Status
[/php]
auf das Array abändere.
So:
[quote='meigrafd','http://test.forum-raspberrypi.de/forum/index.php?thread/&postID=192609#post192609']
declare -A Relais
#format: Relais[<relais#>]=<gpio#>
Relais["1"]=0
Relais["2"]=2
Relais["3"]=3
Relais["4"]=12
Relais["5"]=1
....
sudo gpio write ${Relais[$n]} $Status
fi
done
[/quote]
funktionierts bei mir nicht :rolleyes: Mir verschließt sich einfach die Arrayfunktion obwohl ich schon viel gegoogelt und gelesen habe - checks nicht :rolleyes: Sorry.
[quote='meigrafd' pid='192609' dateline='1452030887']
Siehe Beitrag#18. Du musst die Tabelle 'Typ' auch noch füllen und dann muss in der Tabelle 'Vorgang' die "id" von dem Typ hinterlegt sein...
[code]INSERT INTO Typ (Bezeichnung) VALUES ('Nachtlicht')
INSERT INTO Typ (Bezeichnung) VALUES ('Tageslicht')
INSERT INTO Typ (Bezeichnung) VALUES ('Nachfüllanlage')
Alles anzeigen
[/quote]
Siehe Beitrag#18.
Denkbar wären zum Beispiel 3 Tabellen: Typ, Status, Vorgang.
- "Typ" besteht aus 2 Spalten: id und Bezeichnung. id ist fortlaufend eindeutig und Bezeichnung beinhaltet jeweils "Nachtlicht", "Tageslicht" usw
- "Status" besteht aus 2 Spalten: id und Bezeichnung. Hier gäbe es nur 2 Einträge: id=1, Bezeichnung=An ... id=2, Bezeichnung=Aus
- "Vorgang" besteht aus 3 Spalten: id, id_Typ, id_Status und Zeit. id ist fortlaufend eindeutig, id_Typ enthält die jeweilige id aus der "Typ" Tabelle ebenso wie id_Status und Zeit ist der Timestamp wann geschaltet wurde.
Habe ich genau so umgesetzt. Aber es gibt in jeder Tabelle die Spalte id...
Zitat von meigrafd
.. dann muss in der Tabelle 'Vorgang' die "id" von dem Typ hinterlegt sein
genau hier steige ich aus :s - wie geht das? Also die "Hinterlegung der id in der Tabelle "Vorgang" aus der Tabelle "Typ"?
SELECT'en wie hier:
Zitat von meigrafd
Du willst "aus" schalten, also SELECT'est du "id" aus der Tabelle dessen Eintrag "Nachtlicht" enthält
geht ja meiner Meinung nach hier nicht - oder doch???
Zitat von meigrafd
Du kannst übrigens auch in dem Homedir deines Benutzers eine Datei ".my.cnf" anlegen in der alle Daten drin stehen und brauchst es dann in den Scripts nicht mehr einfügen
Beispiel:
[client]
host=localhost
user=Pi
password="***passwort**"
mysql aquariumsteuer -e "SHOW TABLES;"
Nennt sich: User-specific options
Das wäre ggf sicherer als wenn in der Prozessliste Benutzer und Password von dem Befehl zu sehen wäre
Das ist eine gute Idee werde mich daran probieren!
By the way - nachdem ich eine 4.Tabelle mit Ein- und Ausschaltzeiten für die Überprüfung beim reboot und für die "UPDATES" erstellt habe
Zum Beispiel:
[code=php]
- "Schalten" besteht aus 3 Spalten: id_Typ, Einschaltzeit und Ausschaltzeit und id_Typ aus der "Typ" Tabelle, /wenn ich sa mal überzuckert habe wie das geht).
[/php]
passt das so? Aber wie lese ich die Einschaltzeit und Ausschaltzeit mit crontable aus (Syntax)?
Bitte nicht falsch verstehen - ich möchte es ja nicht als "drag and drop" haben. Aber mir fehlen die Denkansätze...
Ich weiß ich bin anstregend... Aber SQL, als Computer-Methusalem, im Schnelldurchlauf zu lernen ist nicht einfach... :s Hoffentlich kannst Du mir nochmals erklärend unter die Arme greifen...
Ich hoffe daher nochmals auf Deine