Параллелопластический осколок слоносознания
“Deswegen” or “deshalb” marks a consequence, not the cause. “Wegen dir kann ich nicht schlafen“ is right, as „dir“ is the cause and „nicht schlafen“ the consequence. The second one would be: “Ich träume von dir, deswegen kann ich nicht schlafen.”, or if you turn it around: “Ich kann deshalb nicht schlafen, weil ich von dir träume“.
Btw: Awww… 
