sodale, wieder einmal da 
ich habe o.a. projekt etwas, naja, "umgestaltet", wenn man es so nennen will. die programmierfähigkeit der anzeige über app wird vl. etwas später realisiert, zu den ausgaben von geburtstagen etc. werde ich den sketch nach der idee von dertester missbrauchen (ein dankeschön an dieser stelle). die ausgabe erfolgt zwischenzeitlich auf einem 16x2-lcd
auch die möglichkeit von dischneider habe ich probiert, danke auch hier
@vieledinge: wenn ich den DS18S20 irgendwo billig hergrieg, dann werd ich des auch damit versuchen, pt100 liegt aber schon auf meinem schreibtisch XD
weiters hier der (von mir "simplifizierte" sketch, den ich im netz gefunden habe --> originalsketch RTC1307 - Real Time Clock - Combustory
/***************************************
* *
* Programm: Datum-Uhrzeit- *
* Temperatur-Anzeige *
* *
* Autor: autuino *
* *
* Datum: 2013_02_04 *
* *
* Version: 1.2 *
* Für 16x2-LCD *
***************************************/
#include <LiquidCrystal.h>
#include "Wire.h"
#define DS1307_I2C_ADDRESS 0x68 // This is the I2C address
// Arduino version compatibility Pre-Compiler Directives
#if defined(ARDUINO) && ARDUINO >= 100 // Arduino v1.0 and newer
#define I2C_WRITE Wire.write
#define I2C_READ Wire.read
#else // Arduino Prior to v1.0
#define I2C_WRITE Wire.send
#define I2C_READ Wire.receive
#endif
// Initialisierung des LCD
LiquidCrystal lcd(12, 11, 5, 4, 3, 2);
// Globale Variablen
byte second, minute, hour, dayOfWeek, dayOfMonth, month, year;
int i, j, k = 0;
int flash = 8;
float temp_in, temp_out;
byte zero;
char *Day[] = {"","So","Mo","Di","Mi","Do","Fr","Sa"};
char *Mon[] = {"","Jan.","Feb.","Mar.","Apr.","Mai.","Jun.","Jul.","Aug.","Sep.","Okt.","Nov.","Dez."};
// Wandelt BCD-Werte in Dezimalwerte um
byte bcdToDec(byte val)
{
return ( (val/16*10) + (val%16) );
}
// Daten von RTC erhalten
void getDateDs1307()
{
// Reset the register pointer
Wire.beginTransmission(DS1307_I2C_ADDRESS);
I2C_WRITE(zero);
Wire.endTransmission();
Wire.requestFrom(DS1307_I2C_ADDRESS, 7);
}
void setup()
{
// Anzeige der Werbung
lcd.begin(16, 2);
lcd.print("Kalender V 1.2");
lcd.setCursor(0, 1);
lcd.print("build by MB");
lcd.noCursor();
// Löschen der Werbung nach der vorgegebenen Zeit
lcd.cursor();
delay(2500);
lcd.clear();
// Start des IIC-Modi
Wire.begin();
// Pin Flash (=8) ist Ausgang
pinMode(flash, OUTPUT);
};
void loop()
{
// Ausgabe von Datum und Uhrzeit inkl. Abfrageroutine der IIC-RTC
while(i <= 20)
{
Wire.beginTransmission(DS1307_I2C_ADDRESS);
I2C_WRITE(zero);
Wire.endTransmission();
Wire.requestFrom(DS1307_I2C_ADDRESS, 7);
// Maskierung der Bits vom RTC-Modul
second = bcdToDec(I2C_READ() & 0x7f);
minute = bcdToDec(I2C_READ());
hour = bcdToDec(I2C_READ() & 0x3f); // Need to change this if 12 hour am/pm
dayOfWeek = bcdToDec(I2C_READ());
dayOfMonth = bcdToDec(I2C_READ());
month = bcdToDec(I2C_READ());
year = bcdToDec(I2C_READ());
// Ausgabe des Datums im Format DD,_dd._mmm._'yy
lcd.clear();
lcd.setCursor(0, 0);
lcd.print(Day[dayOfWeek]);
lcd.print(", ");
if (dayOfMonth < 10)
lcd.print("0");
lcd.print(dayOfMonth, DEC);
lcd.print(".");
lcd.print(" ");
lcd.print(Mon[month]);
lcd.print(" '");
lcd.println(year, DEC);
// Ausgabe der Uhrzeit im Format hh:mm:ss
lcd.setCursor(4, 1);
if (hour < 10)
lcd.print("0");
lcd.print(hour, DEC);
lcd.print(":");
if (minute < 10)
lcd.print("0");
lcd.print(minute, DEC);
lcd.print(":");
if (second < 10)
lcd.print("0");
lcd.print(second, DEC);
lcd.print(" ");
lcd.noCursor();
i++;
delay(500);
j = 0;
k = 0;
};
while(j <= 20)
{
// Einlesen der aktuellen Temperaturwerte und Mapping auf ein ordentliches Format
// Parameter für PT100 (Spannungsteiler mit R56 und PT100), errechnet anhand der Formel R = R0*(1+0,00385*??)
// Mapping-Wert für 0°C = 656, 100°C = 728
while(k <= 1)
{
digitalWrite(twinkle, HIGH);
temp_in = analogRead(A0);
temp_in = map(temp_in, 656, 728, 0, 100);
temp_out = analogRead(A1);
temp_out = map(temp_out, 656, 728, 0, 100);
delay(25);
digitalWrite(flash, LOW);
k++;
};
// Ausgabe der aktuellen Temperatur für innen und außen
lcd.clear();
lcd.setCursor(0, 0);
lcd.print("Innen: ");
lcd.setCursor(8, 0);
lcd.print(temp_in,1);
lcd.setCursor(0, 1);
lcd.print("Aussen: ");
lcd.setCursor(8, 1);
lcd.print(temp_out,1);
lcd.noCursor();
j++;
delay(500);
i = 0;
};
};
und hier auch die umgesetze idee von dischneider (funktioniert trotz einfachen aufbaus sehr gut):
// Geburtstag von Sepp 23.04.1965
if(dayOfMonth == 23 && month == 04){
int ofyear = (year + 2000) - 1965;
lcd.setCursor(0, 2);
lcd.print("Sepp ");
lcd.print(ofyear);}
sketch ist noch nicht ganz fehlerfrei, könnte noch schöner auskommentiert werden.
zu den sorgen von vieledinge: was bei einer umstellung von mez auf mesz und umgekehrt passiert, weis ich nicht.
weiters: da das ding in einer elektrowerkstätte installiert werden soll (habe ich eingangs leider nicht erwähnt) verkompliziert die sache mit webzugriff, weil ich nicht glaube, dass mir unsere admins "nur für spaß" die sicherheitsrichtlinien unseres firmennetzwerkes entschärfen 
d.h. aufbau so klein wie möglich und so groß wie nötig, gilt auch für den preis
ps: für änderungsvorschläge bzw. code-korrekturen (im kleinen wie im großen) bin ich sehr dankbar 
schönen abend noch